嗨,我有一个带有复选框的Jquery数据表。我想遍历所有选中的行并在警报中显示它。我怎样才能做到这一点?这是我的代码:
$(document).ready(function () {
dataTable = $("#ItemDT").DataTable({
"ajax": {
"url": "/Home/GetData",
"type": "GET",
"datatype": "json"
},
"columns": [
{ "data": "Name","width": "300px" },
{ "data": "Brand" },
{ "data": "ReplenishLimit" },
{ "data": "ReplenishQuantity" },
{ "data": "Quantity" },
],
'columnDefs': [{
'targets': 5,
'searchable': false,
'orderable': false,
"data": "Id",
'className': 'dt-body-center',
'render': function (data, type, full, meta) {
return '<input type="checkbox" name="id[]" value="'
+ $('<div/>').text(data).html() + '">';
}
}],
});
});
答案 0 :(得分:0)
您可以尝试以下方法从table
获取选中的行。这里使用datatable
博客的示例数据。
HTML
<table id="ItemDT">
<thead>
<tr>
<th></th>
<th>First name</th>
<th>Last name</th>
<th>Position</th>
<th>Office</th>
<th>Salary</th>
</tr>
</thead>
<tbody>
<tr>
<td><input type="checkbox"></td>
<td>Tiger</td>
<td>Nixon</td>
<td>System Architect</td>
<td>Edinburgh</td>
<td>$320,800</td>
</tr>
<tr>
<td><input type="checkbox"></td>
<td>Garrett</td>
<td>Winters</td>
<td>Accountant</td>
<td>Tokyo</td>
<td>$170,750</td>
</tr>
<tr>
<td><input type="checkbox"></td>
<td>Ashton</td>
<td>Cox</td>
<td>Junior Technical Author</td>
<td>San Francisco</td>
<td>$86,000</td>
</tr>
<tr>
<td><input type="checkbox"></td>
<td>Cedric</td>
<td>Kelly</td>
<td>Senior Javascript Developer</td>
<td>Edinburgh</td>
<td>$433,060</td>
</tr>
<tr>
<td><input type="checkbox"></td>
<td>Airi</td>
<td>Satou</td>
<td>Accountant</td>
<td>Tokyo</td>
<td>$162,700</td>
</tr>
</tbody>
</table>
<input type="button" value="Get Checked" id="btnGetchecked" />
JS
$(function() {
dataTable = $("#ItemDT").DataTable();
$('body').on('click', '#btnGetchecked', '', function() {
var CheckedRow = $("#ItemDT tbody tr").filter(function() {
if ($(this).find('td:eq(0) > input[type="checkbox"]').is(':checked')) {
return $(this).html();
}
});
$.each(CheckedRow, function(key, value) {
console.log(key);
console.log(value);
});
});
});
此处value
保留每个选中的行。希望这会有所帮助。