1

以下のように、ASP.NET リピーターでドロップダウンリストを生成しています -

<asp:DropDownList ID="ddlQty" runat="server">
    <asp:ListItem Text="0" Value="0" Selected="True" />
</asp:DropDownList>

したがって、ページにはいくつかのドロップダウンリストが生成されます。これらすべてのリストについて、からの値を含むアイテムを入力しようとしています1 to 10

jQuery(document).ready(function () {

    var ddlQty = jQuery("select[id$='ddlQty']");                
    jQuery.each(ddlQty, function () {
        var curDdl = jQuery(this).next();            
        for (i = 1; i <= 10; i++)
            curDdl.append(jQuery('<option>', { value: i, text: i }));
    });
});

このコードは機能しません。助けてください。

ありがとう !

編集:

ご回答いただきありがとうございます。問題は にありましたgenerating ID of repeaters。リピーター コントロール ID が ***ddlQty_0 に置き換えられたため、jQuery で含むワイルド カードを使用する必要があります。

固定コード。

jQuery(ドキュメント).ready(関数() {

var ddlQty = jQuery("select[id*='ddlQty']");

jQuery.each(ddlQty, function () {
    var curDdl = jQuery(this);
    for (i = 1; i <= 10; i++)
        curDdl.append(jQuery('<option>', { value: i, text: i }));
});

});

4

1 に答える 1

2

置き換えてみてください:

var curDdl = jQuery(this).next();

と:

var curDdl = jQuery(this);

DOM の次の要素で作業する必要はありませんが、ドロップダウンである現在の要素で作業する必要があります。

また、コードを少し単純化することもできます:

jQuery(document).ready(function () {

    jQuery('select[id$="ddlQty"]').each(function() {
        var curDdl = jQuery(this);
        for (i = 1; i <= 10; i++) {
            curDdl.append(jQuery('<option>', { value: i, text: i }));
        }
    });
});
于 2012-10-15T14:49:20.207 に答える