0

我有一个看起来像这样的 jqGrid:

      $(function(){
            $("#poGrid").jqGrid({
                url:'URL',
                datatype: 'json',
                mtype: 'GET',
                colNames:[],
                pager: '#poPager',
                rowNum:10,
                rowList:[10,20,30],
                sortname: 'orderID',
                sortorder: 'ASC',
                jsonReader : { repeatitems: false },
                viewrecords: true,
                gridview: true,
                caption: ' ',
                height: "100%",

                colModel :[

                    {name: 'sel', index: 'sel', label: 'Select', width:50, align: 'center',
                        editable:true, edittype:'checkbox', editoptions: { value:"True:False"},
                        formatter: "checkbox", formatoptions: {disabled : false}},
                    {name:'orderID', label:'Order ID', width:80, align: 'center'},
                    {name:'orderName', label:'Order Name', width:250},
                    {name:'orderDate', label:'Order Date', width:100}


                ],


            });
        });

当用户单击 sel 复选框时,我需要获取 orderID 并将其放入一个 JS 变量中,该变量是一个逗号分隔的 orderID 字符串,用于检查 sel 的行。

当复选框未选中时,我还需要它从字符串中删除 orderID。我一直在计划使用 onLoad 事件,但我无法正确使用语法。

此外,我将来自选定复选框的 orderID 保存在数据库中。当用户重新加载页面时,我可以将变量构建为逗号分隔的字符串。然后,如果 orderID 在该变量中,我需要确保所有复选框都已加载。

我希望这一切都有意义,任何帮助将不胜感激。

提前致谢!

4

2 回答 2

0

如果您使用的是 PHP,phpGrid 通过服务器端脚本有一个条件单元格值示例:

http://phpgrid.com/example/conditional-value/

于 2012-12-26T22:39:01.093 回答
0

您可以从检查开始: JQgrid checkbox onclick update database

这将掩盖您的复选框上的点击事件。从该事件中,您可以构建您的字符串并从已取消选择的 var 中删除 orderId。

如果您保存检查了 orderId 的数据,那么您可以将它们作为 1/0 传递给您的复选框列并使用格式化程序: 根据通过 json 检索的值在 jqGrid 中添加复选框中Oleg 的答案指定的复选框

如果您正在处理多页数据,请务必在页面更改之前将数据保存回服务器。

如果您想构建变量服务器端,您也可以始终将其作为 userData 传递。前任

服务器端

"userdata": { checkedOrderIds: "1,2,5,7"}

客户端

var myUserData = jQuery("grid_id").getGridParam('userData');
于 2012-12-20T12:29:33.173 回答