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

时间:2015-04-26 04:53:12

标签: javascript jquery asp.net-mvc-4 checkbox jqgrid

我在jqgrid的页脚中有复选框,并且想要在单击按钮(发送命令)时向控制器发送复选框的值。 enter image description here

当选择一行并单击按钮发送命令时, 除了它的值,还会发送(选中或未选中)复选框 我的代码:

 .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>');

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

1 个答案:

答案 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
    }
//......