Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/473.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 可单击行仅在datatable的第一页上有效_Javascript_Jquery_Twitter Bootstrap_Checkbox_Datatables - Fatal编程技术网

Javascript 可单击行仅在datatable的第一页上有效

Javascript 可单击行仅在datatable的第一页上有效,javascript,jquery,twitter-bootstrap,checkbox,datatables,Javascript,Jquery,Twitter Bootstrap,Checkbox,Datatables,我需要帮助。我有一个页面显示引导数据表中的记录。记录每页显示10行,每行在左列有一个复选框。我想做的是,当用户单击行时,它将选中复选框并启用tableuser必须至少选择一个复选框以激活/启用按钮后放置的按钮。我已经实现了这一点,但不幸的是,它只在第一页起作用。当用户转到第二页并单击表行时,复选框未选中。有人能帮我吗?我非常感激 //disable button when no records are selected var checkboxes = $("input[type='checkb

我需要帮助。我有一个页面显示引导数据表中的记录。记录每页显示10行,每行在左列有一个复选框。我想做的是,当用户单击行时,它将选中复选框并启用tableuser必须至少选择一个复选框以激活/启用按钮后放置的按钮。我已经实现了这一点,但不幸的是,它只在第一页起作用。当用户转到第二页并单击表行时,复选框未选中。有人能帮我吗?我非常感激

//disable button when no records are selected
var checkboxes = $("input[type='checkbox']");
var btn = $("#button");
btn.attr("disabled","disabled");

checkboxes.on('click', function(event) {
    if($(this).prop('checked')){
        btn.removeAttr('disabled');
    } else {
        btn.attr("disabled",!checkboxes.is(":checked"));
    }
});

//this will check the checkbox whenever user clicks the table row
$('.clickable-row').click(function (event) {
    if (event.target.type !== 'checkbox') {
        $(':checkbox', this).trigger('click');
    }
}); 

在jQuery中使用DataTables时,插件通过在切换页面时从DOM中添加和删除元素来管理页面上显示的行。加载表时,DOM中唯一存在的行是第一页上出现的行

这意味着您的处理程序只添加到第一页的元素中,一旦切换页面,这些元素将被删除,因此当您返回到第1页时,这些元素将是新创建的元素,没有附加处理程序

将代码更改为:

$('#some-table-id').on('click','.clickable-row', function (event) {
    if (event.target.type !== 'checkbox') {
        $(':checkbox', this).trigger('click');
    }
}); 
这叫做


另请参见

您是否将“某些表格id”更改为实际表格的选择器?您没有显示它,因此我必须使用占位符我喜欢这个“$”表。单击“单击”,“可单击行”,“函数事件”,但现在不起作用。我只是更改了“$”表***。单击**。。。。到**桌**。在**……哦,天哪,我的错。是的,那是我的错别字,是的,应该是的