jqGrid根据复选框设置变量

时间:2012-12-20 07:18:52

标签: jquery jqgrid

我有一个看起来像这样的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变量中,该变量是用于检查sel的行的逗号分隔的orderIDs字符串。

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

另外,我从DB中选中的复选框中保存orderID。当用户重新加载页面时,我可以将变量构建为逗号分隔的字符串。如果orderID在该变量中,我需要确保加载检查所有复选框。

我希望这一切都有意义,任何帮助都会受到高度赞赏。

提前致谢!

2 个答案:

答案 0 :(得分:0)

您可以先退房: JQgrid checkbox onclick update database

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

如果您保存检查了orderId的数据,那么您可以将它们作为复选框列的1/0传递,并使用格拉特:复选框由Oleg的答案指定 Add checkboxes in a jqGrid on the basis of value retrieved through the json

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

如果要构建变量服务器端,您也可以将其作为userData传递给它。实施例

服务器侧

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

客户端

var myUserData = jQuery("grid_id").getGridParam('userData');

答案 1 :(得分:0)

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

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