jQuery数据表使用复选框值获取记录
我想提交带有复选框值的DataTables中的所有记录。目前,我的代码如下: 表格代码jQuery数据表使用复选框值获取记录,jquery,datatables,Jquery,Datatables,我想提交带有复选框值的DataTables中的所有记录。目前,我的代码如下: 表格代码 <form id="fmApprovedGradeStep" method="post" asp-controller="GradeStep" asp-action="GradeStep"> <div asp-validation-summary="All" class="text-danger"></div> @Html.AntiForgeryToken(); <d
<form id="fmApprovedGradeStep" method="post" asp-controller="GradeStep" asp-action="GradeStep">
<div asp-validation-summary="All" class="text-danger"></div>
@Html.AntiForgeryToken();
<div class="card text-center">
<div class="card-header text-muted">
<p><b>Approved GradeStep</b></p>
</div>
<div class="card-body">
<div class="form-group row">
<label class="col-sm-2 col-form-label">Search</label>
<div class="col-sm-4 input-group">
<div class="input-group-prepend">
<span class="input-group-text fa fa-search"></span>
</div>
<input id="gradeStepApprovedSearch" type="text" class="form-control" placeholder="Search by Paygroup, Grade, Step" />
</div>
</div>
<div class="form-group">
<div class="table-responsive-sm">
<table id="gradeStepApprovedTable" class="table table-striped table-bordered table-sm compact">
<thead>
<tr>
<th scope="col" class="text-center">
<div class="form-check">
<input id="gradeStepApprovedCheckAll" type="checkbox" class="form-check-input" />
<label class="form-check-label">
</label>
</div>
</th>
<th scope="col" class="text-center"><label>Paygroup</label></th>
<th scope="col" class="text-center"><label>Grade</label></th>
<th scope="col" class="text-center"><label>Step</label></th>
<th scope="col" class="text-center"><label>Remarks</label></th>
<th scope="col" class="text-center"><label>Status</label></th>
<th scope="col"></th>
</tr>
</thead>
</table>
</div>
</div>
</div>
<div class="card-footer">
<div class="btn-group-sm">
@if (true)
{
<a id="btnGradeStepAdd" asp-controller="GradeStep" asp-action="GradeStepAddEdit" class="btn btn-outline-success">
<span class="fa fa-plus"></span>
Add
</a>
}
@if (true)
{
<button id="btnGradeStepApproveDelete" type="button" class="btn btn-outline-success" data-loading-text="Deleting..." onclick="Delete('#fmApprovedGradeStep', '#btnGradeStepApproveDelete');">
<span class="fa fa-trash"></span>
Delete
</button>
}
</div>
</div>
</div>
但是,它返回给我的值如下所示
[
{
"paygroup": "P1",
"grade": "G1",
"step": "S1",
"remarks": "R1",
"status": "OK"
},
{
"paygroup": "P2",
"grade": "G1",
"step": "S1",
"remarks": "R1",
"status": "OK"
},
{
"paygroup": "P3",
"grade": "G1",
"step": "S1",
"remarks": "R1",
"status": "OK"
}
]
结果不包含复选框的值,您能告诉我如何返回具有复选框值的记录吗?非常感谢。最终,我得到了解决方案。它通过下面的代码向行数据添加了一个带有复选框的列值
// event handler for individual rows
$("#gradeStepApprovedTable").on("click", "td input[type=checkbox]", function () {
var isChecked = this.checked;
var dtapi = $("#gradeStepApprovedTable").DataTable();
// set the data item associated with the row to match the checkbox
var dtRow = dtapi.rows($(this).closest("tr"));
console.log(dtRow.data());
dtRow.data()[0].Checked = isChecked;
});
它将输出如下所示的结果
[{“薪资组”:“P1”,“等级”:“G1”,“步骤”:“S1”,“备注”:“R1”,“状态”:“OK”},{“薪资组”:“P2”,“等级”:“G1”,“步骤”:“S1”,“备注”:“R1”,“状态”:“OK”,“Checked”:false},{“薪资组”:“P3”,“等级”:“G1”,“步骤”:“S1”,“备注”:“R1”,“状态”:“OK”,“Checked”:真最终,我得到的解决方案是。它通过下面的代码将带有复选框的列值附加到行数据
// event handler for individual rows
$("#gradeStepApprovedTable").on("click", "td input[type=checkbox]", function () {
var isChecked = this.checked;
var dtapi = $("#gradeStepApprovedTable").DataTable();
// set the data item associated with the row to match the checkbox
var dtRow = dtapi.rows($(this).closest("tr"));
console.log(dtRow.data());
dtRow.data()[0].Checked = isChecked;
});
它将输出如下所示的结果
[{“薪资组”:“P1”,“等级”:“G1”,“步骤”:“S1”,“备注”:“R1”,“状态”:“OK”},{“薪资组”:“P2”,“等级”:“G1”,“步骤”:“S1”,“备注”:“R1”,“状态”:“OK”,“Checked”:false},{“薪资组”:“P3”,“等级”:“G1”,“步骤”:“S1”,“备注”:“R1”,“状态”:“OK”,“Checked”:true在
中添加name属性并重试。我已经尝试过“数据”:“checked”,“name”:“checked”,“searchable”:false,“render”:function(数据,类型,行){return“”;}}}`,但它没有返回任何valueAdd name属性(在
中)并重试。我尝试过“data”:“checked”,“name”:“checked”,“searchable”:false,“render”:function(数据,类型,行){return';}}}`,但它没有返回任何值
// event handler for individual rows
$("#gradeStepApprovedTable").on("click", "td input[type=checkbox]", function () {
var isChecked = this.checked;
var dtapi = $("#gradeStepApprovedTable").DataTable();
// set the data item associated with the row to match the checkbox
var dtRow = dtapi.rows($(this).closest("tr"));
console.log(dtRow.data());
dtRow.data()[0].Checked = isChecked;
});