我有一个作为jquery dataTable的表格。每行数据都有一个复选框列。网页访问者将点击复选框以选择要删除的项目。dataTable启用了分页和过滤,因此访问者可能会在不同页面上选择一个或多个复选框。当用户点击“删除”时,我想能够获取每个选中复选框的值。
我已经找到了使用以下代码获取选中行集合的方法:var rowcollection = oTable.$(".call-checkbox:checked", {"page": "all"});
我还没有想出如何遍历该集合以获取每行复选框输入的值。
下面是脚本和表格,请告诉我我错过了什么非常明显的东西。
<script type="text/javascript" charset="utf-8">
$(document).ready(function () {
$('#calltable').dataTable({
"bPaginate": true,
"bLengthChange": true,
"bFilter": true,
"bSort": true,
"bInfo": true,
"bAutoWidth": true,
"bStateSave": true,
"aoColumnDefs": [
{ 'bSortable': false, 'aTargets': [ -1,0] }
]
});
// trashcan is the id of the icon users click to delete items
// onclick get all the checked rows and do something
$("#trashcan")
.click(function () {
var oTable = $('#calltable').dataTable();
var rowcollection = oTable.$(".call-checkbox:checked", {"page": "all"});
for(var i = 0; i < rowcollection.length; i++)
{
// GET THE VALUE OF THE CHECK BOX (HOW?) AND DO SOMETHING WITH IT.
//
}
});
});
</script>
<table id="calltable" class="pretty">
<thead>
<tr>
<th><span id="check">Check</span> |
<span id="uncheck">U</span> |
<img src="/trash_16x16.gif" alt="Delete" id="trashcan" />
</th>
<th>phone</th>
<th>name</th>
<th>Status</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<input type="checkbox" class="call-checkbox" value="22" />
</td>
<td>8438740903</td>
<td>Susan</td>
<td>S</td>
</tr>
<tr>
<td>
<input type="checkbox" class="call-checkbox" value="23" />
</td>
<td>9098983456</td>
<td>Jack Sparrow</td>
<td>S</td>
</tr>
</tbody>
</table>
rowcollection
包含了 jQuery 复选框的 DOM 节点,那么它就非常简单:rowcollection[i].val();
- slash197