如何获取选中复选框的值(在 jqgrid 的页脚中)并发送到控制器?

How to get value of checked checkbox (in footer of jqgrid) and send to controller?

我在 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>');

我可以发送行的数据,但我不知道如何发送复选框的值???

您将其作为 URL 参数发送。变化:

url: '@Url.Action("Index", "AddSMS")',

url: '@Url.Action("Index", "AddSMS")' + '?cbChecked=' + $("input.myMultiSearch").is(":checked"),

那么您应该能够将 AddSMS 控制器中的 Index 更新为:

public ActionResult Index(long[] selrow, bool cbChecked) 
{ 
    if (cbChecked) 
    {
        //this should run if the checkbox has been checked
    }
//......