如何区分事件处理程序以处理复选框更改事件

时间:2015-05-08 07:03:53

标签: jquery

我有一个HTML页面的两个部分。

一个是搜索,另一个是

在内部表中,复选框的ID将动态生成,例如124,125 ---并且搜索部分下的复选框的ID为 searchcheckboxid

是否可以在选中支票簿时区分事件处理程序,或者对两个部分都不选中?

表示在表格中单击复选框

我想调用此事件处理程序

$(document).on('change','input[type="checkbox"]' ,function(){

alert('Clicked on Table Checkbox');    

});

如果点击搜索部分下的searchcheckboxid,我想调用另一个处理程序。

请让我知道怎么做?

http://jsfiddle.net/vxe2d2hh/26/

2 个答案:

答案 0 :(得分:1)

将您的选择器更改为仅定位作为表

的后代的复选框
$(document).on('change','table input[type="checkbox"]' ,function(){
     alert('Clicked on Table Checkbox');            
});

演示:Fiddle

如果表是静态的并且动态添加行,则将委托的处理程序绑定到表而不是文档对象。这将提高性能,因为处理程序

将忽略表外的所有更改事件
$('table').on('change', 'input[type="checkbox"]', function () {
    alert('Clicked on Table Checkbox');
});

演示:Fiddle

答案 1 :(得分:1)

修改 看到你的代码后:

$('table').on('change', 'input[type="checkbox"]', function () {
    alert('Clicked on Table Checkbox');
});


$('#searchcheckboxid').on('change', function () {
    alert('Clicked on Search Checkbox');
});

演示:http://jsfiddle.net/vxe2d2hh/28/