Wil*_*lly 6 javascript asp.net-mvc jquery datatables
我有一个布尔字段,如一个标志,表示在表中删除或不删除行.它使用复选框显示,因此如果数据已被删除,则复选框值为true,反之亦然.
下面是显示表格的代码:
<table id="tblEvent" class="display" cellspacing="0" style="width: 100%">
<thead>
<tr>
<th>@Html.DisplayNameFor(model => model.PIC)</th>
<th>@Html.DisplayNameFor(model => model.Name)</th>
<th>@Html.DisplayNameFor(model => model.StartDate)</th>
<th>@Html.DisplayNameFor(model => model.Status)</th>
</tr>
</thead>
<tbody>
@foreach (var item in Model)
{
<tr>
<td>@Html.DisplayFor(modelItem => item.PIC)</td>
<td>@Html.DisplayFor(modelItem => item.Name)</td>
<td>@Html.DisplayFor(modelItem => item.StartDate)</td>
<td>@Html.EditorFor(modelItem => item.Status)</td>
</tr>
}
</tbody>
</table>
$(document).ready(function () {
$("#tblEvent").dataTable({
"order": [[1, "desc"]]
});
});
Run Code Online (Sandbox Code Playgroud)
在表格中,我可以单击复选框,但我不知道如何处理click事件,因为我正在使用数据表来显示数据.如何使用datatable处理复选框事件?
dav*_*rad 17
我猜您使用的是分页表,并且在更改页面时遇到了点击处理程序无法正常工作的问题?
注释中建议的解决方案适用于1页的dataTable,但如果更改页面则无用,否则将重绘dataTable:
$('#tblEvent input[type="checkbox"]').click(function() {
console.log('suggested-in-comment', 'click');
});
Run Code Online (Sandbox Code Playgroud)
...仅适用于第一页.您必须使用委托事件来确保复选框始终绑定到单击处理程序:
$('#tblEvent').on('click', 'input[type="checkbox"]', function() {
console.log('best', 'click');
});
Run Code Online (Sandbox Code Playgroud)
演示与/概念验证 - > http://jsfiddle.net/o4mhqpr3/
如果您使用具有选择功能的数据表,则可以使用侦听器(选择和取消选择事件)。
table.on( 'deselect', function ( e, dt, type, indexes ) {});
table.on( 'select', function ( e, dt, type, indexes ) {});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16651 次 |
| 最近记录: |