【发布时间】:2025-12-07 00:30:01
【问题描述】:
我是数据表的新手,并且已经在数据表的每一行中实现了复选框。为此我关注了this sample。
我只想返回选定行的数据,而是返回表单提交操作的所有数据。
这是截图
在上面的截图中,我只选择了第二行和第三行,但是 table.column(0).checkboxes.selected() 返回所有行。
Javascript 代码
var paramedics;
table;
var i = 0;
$(document).ready(function () {
table = $("#example").DataTable({
"ajax": {
"url": "/Home/GetCaseAllocations",
"type": "GET",
"datatype": "json",
},
"select": {
"style": "multi"
},
"order": [[1, "asc"]],
"columns": [
{
"data": null,
'targets': 0,
'checkboxes': {
'selectRow': true
}
},
{ "data": "patientId" },
{ "data": "name" },
{ "data": "age" },
{ "data": "zipCode" },
{ "data": "status" },
{ "data": "currentAllocation" },
{
"data": "paramedicsAvailable", width: "200px",
render: function (data, type, row) {
var $select = $("<select></select>",
{
id: "allocation" + i
});
$.each(data, function (k, v) {
var $option = $("<option></option>",
{
text: v,
value: k
});
if (row.owner === v) {
$option.attr("selected", "selected")
}
$select.append($option);
});
return $select.prop("outerHTML");
i++;
}
},
],
});
$("#frm-example").on('submit', function (e) {
var form = this;
var rows_selected = table.column(0).checkboxes.selected();
// Iterate over all selected checkboxes
$.each(rows_selected, function (index, rowId) {
// Create a hidden element
console.log(table.row(index));
$(form).append(
$('<input>')
.attr('type', 'hidden')
.attr('name', 'id[]')
.val(rowId)
);
});
});
});
【问题讨论】:
标签: jquery datatables jquery-datatables-checkboxes