0

データベースからデータを返し、html リスト タグの形式で文字列を作成するメソッドがあります。

options.Append("<li value=\"" + reader["CIStatusID"].ToString() + "\"><a href=\"#\" class=\"filterOption checkable\">");
options.Append(reader["Status"].ToString() + "</a></li>");

次に、私のJavaScriptで、これを「filterType」という名前のulタグに割り当てます

<div id="gearOptionsViewCaseFiles" style="display: none;">
    <ul>
        <li><a href="#">Filter by Status</a>
            <ul id="filterType">
            </ul>
        </li>
    </ul>
</div>

これは、動的に生成されたリスト アイテムを ul タグに追加する方法です。

success: function (data) {
    $('#filterType').val('<li value="0" class="filterOption checkable checked"><a href="#">All<img class="checkedimage" src="Images/tick.png" width="12" height="12"></a></li>' + data);
}

デバッガーでは、「filterType」の値は生成されたリスト項目ですが、Web サイトではリストは表示されません。生成されたhtmlアイテムを「filterType」ulタグに割り当てている場合、表示されない理由がわかりません

EDIT : ul に追加されたときに li アイテムがどのように見えるか:

<li value="0" class="filterOption checkable checked"><a href="#">All<img class="checkedimage" src="Images/tick.png" width="12" height="12"></a></li>
4

3 に答える 3

4
$('#filterType').val()

する必要があります

$('#filterType').html()

.val()フォーム要素用です。ulはフォーム要素ではありません..だから.val()うまくいきません..

使用する.html()

var html = '<li value="0" class="filterOption checkable checked"><a '  
            + 'href="#">All<img class="checkedimage" src="Images/tick.png" '  
            + ' width="12" height="12"></a></li>' + data;


$('#filterType').html(html);

OR 

document.getElementById('filterType').innerHTML = html;
于 2012-12-12T21:34:15.480 に答える
3

.val私の知る限り、フォーム要素にのみ使用できます。.html代わりに、次のように使用してみてください。

$('#filterType').html('<li value="0" class="filterOption checkable checked"><a href="#">All<img class="checkedimage" src="Images/tick.png" width="12" height="12"></a></li>' + data);

使用できるケース.val()は次のとおりです。

HTML:

<input type="text" id="textbox" />

jQuery:

$("#textbox").val("foo"); // Assigns foo to the value of the textbox

基本的に、フォーム要素の値を変更する属性を選択した要素に.val()追加しますが、他の要素には何もしません。value

NB : JavaScript と.val()は異なり、テキストエリアでも機能し、代わりに自動的に使用されます。.value.val().innerText()

于 2012-12-12T21:34:16.320 に答える
3

.html代わりに使用してください。いいえ.val

この.val()メソッドは主に、input、select、textarea などのフォーム要素の値を取得/設定するために使用されます。

于 2012-12-12T21:34:33.180 に答える