我有一个JQuery Datatable,其中一个列标题中有一个复选框:
<table id="vehTbl" class="table table-striped table-bordered">
<thead>
<tr>
...
<th>
<input type="checkbox" id="someId" onchange="TickAllBoxes()" />
Publish
</th>
</tr>
</thead>
</table>
我的数据表初始化如下:
var table = $("#vehTbl").dataTable(
{
...
"aoColumns":
[
...
{
"mDataProp": "SomeName",
"fnRender": somefunction,
"bUseRendered": false
},
...
]
});
所以这个专栏是可以排序的。现在我需要防止在单击复选框时触发sort事件(并且因此触发TickAllBoxes)。否则,排序应该在列上起作用。
可能的工作原理是将处理程序绑定到表的“sort”事件,并在调用者是“someId”复选框时阻止默认值。不过,我没有成功。
有什么想法吗?
答案 0 :(得分:1)
尝试在初始化dataTable后添加此脚本,并参见?
var table = $("#vehTbl").dataTable(
{
...
"aoColumns":
[
...
{
"mDataProp": "SomeName",
"fnRender": somefunction,
"bUseRendered": false
},
...
]
});
// add in this
$('input[type=checkbox]').click(function(event){event.stopPropagation()});