jqGrid获取选中数据行
jqGrid没有提供类似easyui datagrid的getChecked/getSelected方法获取勾选的或者选中的数据行api,所以jqGrid要获取multiselect为true时被勾选的记录,需要自己遍历勾选的checkbox获取id后通过getRowData方法获取数据行。
jqGrid获取选中数据行源代码如下

<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<title>jqGrid获取选中数据行</title>
<link href="css/jquery-ui-1.8.2.custom.css" rel="stylesheet" type="text/css" />
<link href="css/ui.jqgrid.css" rel="stylesheet" type="text/css" />
<script src="js/jquery-1.11.0.min.js" type="text/javascript"></script>
<script src="js/i18n/grid.locale-cn.js" type="text/javascript"></script>
<script src="js/jquery.jqGrid.src.js" type="text/javascript"></script>
</head>
<body>
<table id="dg1"></table>
<div id="pgfrc1"></div>
<input type="button" onclick="getCheckedRows()" value="获取选中的数据行" />
<script type="text/javascript">
//getRowData
function getCheckedRows() {
var cbs = $('#dg1').find(':checkbox:checked');//获取勾选的checkbox
//生成的checkbox id都是有规则的(jqg_容器id_id值)
var rows = [],id;
for (var i = 0; i < cbs.length; i++) {
id = cbs[i].id.replace('jqg_dg1_', '');
rows.push($('#dg1').jqGrid('getRowData', id));
}
console.log(rows)
}
$(function () {
jQuery("#dg1").jqGrid({
multiselect: true,
url: 'demo1.txt',
datatype: "json",
colNames: ['ID', 'Name', 'Amount'],
colModel: [{ name: 'id', width: 60, align: 'center', frozen: true }, { name: 'name', index: 'name', width: 100 }, { name: 'amount', index: 'amount', width: 120 }],
width: 300,
pager: '#pgfrc1',
jsonReader: { repeatitems: false },
shrinkToFit: false,
caption: "jqGrid获取选中数据行",
height: 'auto'
});
jQuery("#dg1").jqGrid('setFrozenColumns');
});
</script>
</body>
</html>
加支付宝好友偷能量挖...

原创文章,转载请注明出处:jqGrid获取选中数据行
