所以我正在使用几个 ascx,每个控件上都有不同的复选框区域。 我原来用的是
$('[type=checkbox]').click ( function(){ code });
一开始它就完成了这项工作。但是当我添加另一个控件(也使用复选框)时,该函数也会触发其他复选框,因此我将 js 升级为
$('#chck').click(function(){ code });
但是这样,它只会为该列表中的第一个复选框触发一个事件。我怎样才能让它触发所有点击?
我也尝试过这个:
$('#chck').each(function(){ $(this).click({ function() { code }); });
这也只适用于第一个
这是我的 ascx 页面示例:
<asp:Repeater ID="contacts" runat="server">
<ItemTemplate>
<tr>
<td>
<input type="checkbox" id="chck" />
</td>
.....
</tr>
</ItemTemplate>
</asp:Repeater>
这是我的 JS 代码段
$(document).ready(function(){
$("#chck").each(function () {
$(this).click(function () { onchange($(this)); });
});
});
function onchange(checkbox) {
// adds contact to list
}
最佳答案
id
必须是唯一的。使用类来代替:
<input type="checkbox" class="chck" />
$('.chck').click(function(){ code });
关于javascript - 动态添加点击事件到复选框,仅适用于第一个复选框JQUERY,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15300183/