我的网页上有多个复选框,其ID以checkrow
开头
行的ID可以是 checkrow1 或 checkrow2 或 checkrow21 等。
我想将click事件功能分配给每个复选框
我尝试了以下但它似乎不起作用。执行此操作的jQuery代码是什么?
$('input[id^="checkrow"]').click(function () {
alert('1')
});
更新 上面的代码有效。我没有将处理程序附加到click事件的原因是因为执行上面的代码时复选框不存在。我使用的是虚拟化的HTML5网格,其中的复选框仅在我使用的第三方控件的“数据绑定”事件中创建。一旦我将上面的代码放在'Databound'事件中,它就可以正常工作。
答案 0 :(得分:4)
让我猜一下,这些元素是在DOM准备好后动态创建的。
使用on
- 委托活动。
$('parentSelector').on('click', 'input[id^="checkrow"]', func);
当然,请确保您的代码位于DOM ready回调中。
答案 1 :(得分:3)
使用复选框的类,然后使用点定位类名。每个复选框都有一个属性“class ='checkbox'”。
$('.checkbox').click(function(){
alert('Check clicked.');
});
答案 2 :(得分:1)
另一种解决方案:在选择id = checkrow *之后找到复选框,然后添加点击事件:
$('input[type=checkbox]').each(function() {
if ( this.id.match(/^checkrow\d+/) ) {
$(this).click(function() {
// do what you want
});
}
});