我们在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(document).ready(function(){
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 }));
});
});
答案 0 :(得分: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 }));
}
});
});