我在jqgrid的页脚中有复选框,并且想要在单击按钮(发送命令)时向控制器发送复选框的值。
当选择一行并单击按钮发送命令时, 除了它的值,还会发送(选中或未选中)复选框 我的代码:
.jqGrid('navButtonAdd', '#pager',
{
caption: "Send Command ", buttonicon:"ui- icon-signal-diag", title: "Send Command ",
onClickButton: function () {
var selRow = jQuery("#list").jqGrid('getGridParam', 'selarrrow'); //get selected rows
var dataToSend = JSON.stringify(selRow);
if (selRow == 0) {
// display error message because no row is selected
$.jgrid.viewModal("#" + 'alertmod_' + this.p.id,
{ gbox: "#gbox_" + $.jgrid.jqID(this.p.id), jqm: true });
$("#jqg_alrt").focus();
}
else {
$.ajax({
url: '@Url.Action("Index", "AddSMS")',
type: 'POST',
contentType: 'application/json; charset=utf-8',
data: dataToSend,
dataType: 'json',
success: function (result) {
alert('success');
}
});
}
}
})
$("#pager_left table.navtable tbody tr").append( // here 'pager' part or #pager_left is the id of the pager
'<td><div><input type="checkbox" class="myMultiSearch" id="WithSetting" />Setting </div></td>');
我可以发送行数据,但我不知道如何发送复选框值
答案 0 :(得分:2)
您将其作为网址参数发送。变化:
url: '@Url.Action("Index", "AddSMS")',
到
url: '@Url.Action("Index", "AddSMS")' + '?cbChecked=' + $("input.myMultiSearch").is(":checked"),
然后,您应该能够将Index
控制器中的AddSMS
更新为:
public ActionResult Index(long[] selrow, bool cbChecked)
{
if (cbChecked)
{
//this should run if the checkbox has been checked
}
//......