我有一个看起来像这样的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在该变量中,我需要确保加载检查所有复选框。
我希望这一切都有意义,任何帮助都会受到高度赞赏。
提前致谢!
答案 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通过服务器端脚本具有条件单元格值示例: