jqGrid中multiselect: true 操作checkbox
在jqgrid中设置multiselect: true可以实现全选的操作,但怎么设置被选中的checkbox里面的值呢,做法如下:
jquery("#listtable").jqgrid({
url: 'querylist.do',
datatype: 'json',
colnames: ['','编号','姓名'],
colmodel: [
{
name: 'my_id',
index: 'my_id',
sortable: false,
width: '0%',
hidden:true
},
{
name: 'my_no',
index:'my_no',
sortable: false,
align:'center',
width:'10%'
},
{
name: 'name',
index:'name',
sortable: false,
align:'center',
width:'10%'
}
],
page: 1,
rownum: 10,
rowlist: [10, 20, 30],
pager: '#listpage',
multiselect: true,
sortname: 'my_no',
viewrecords: true,
sortorder: "desc",
jsonreader: {
repeatitems: false
},
width: "100%",
height: '100%',
gridcomplete: function() {
var rowids = jquery("#listtable").jqgrid('getdataids');
for(var k=0; k<rowids.length; k++) {
var currowdata = jquery("#listtable").jqgrid('getrowdata', rowids[k]);
var curchk = $("#"+rowids[k]+"").find(":checkbox");
curchk.attr('name', 'checkboxname'); //给每一个checkbox赋名字
curchk.attr('value', currowdata['my_id']); //给checkbox赋值
curchk.attr('title', currowdata['name'] ); //给checkbox赋予额外的属性值
}
});
加载完列表后获取被选中的checkbox的值及其属性值的做法如下:
var checkedvals = new array();
var checkedtitles = new array();
$(":checkbox[name=checkboxname][checked]").each(function(){
checkedvals.push($(this).val());
checkedtitles.push($(this).attr("title"));
});
for(var p=0; p<checkedvals.length; p++){
alert(checkedvals[p]);
alert(checkedtitles[p]);
}
--------------------------------------------------------------------------------------------------
让查询列表中按指定条件被默认选中或灰掉checkbox的做法如下:
jquery("#listtable").jqgrid({
url: 'querylist.do',
datatype: 'json',
colnames: ['','编号','姓名'],
colmodel: [
{
name: 'my_id',
index: 'my_id',
sortable: false,
width: '0%',
hidden:true
},
{
name: 'my_no',
index:'my_no',
sortable: false,
align:'center',
width:'10%'
},
{
name: 'name',
index:'name',
sortable: false,
align:'center',
width:'10%'
}
],
page: 1,
rownum: 10,
rowlist: [10, 20, 30],
pager: '#listpage',
multiselect: true,
multiboxonly: true,
sortname: 'my_no',
viewrecords: true,
sortorder: "desc",
jsonreader: {
repeatitems: false
},
width: "100%",
height: '100%',
gridcomplete: function() {
var rowids = jquery("#listtable").jqgrid('getdataids');
for(var k=0; k<rowids.length; k++) {
var currowdata = jquery("#listtable").jqgrid('getrowdata', rowids[k]);
if(currowdata.my_no == '123456'){
$("#listtable").find("input[id='jqg_" + rowids[k] +
"']").val(currowdata.my_id);
if(currowdata.name=='shihuan'){
$("#listtable").find("input[id='jqg_" + rowids[k] +
"']").attr("checked", true);
}
}else{
$("#listtable").find("input[id='jqg_" + rowids[k] +
"']").val(currowdata.my_id);
$("#listtable").find("input[id='jqg_" + rowids[k] + "']").attr("checked",
true);
$("#listtable").find("input[id='jqg_" + rowids[k] + "']").attr("disabled",
true);
}
}
}
onselectall:function(rowid, status) { //rowid 数组
var ids = jquery("#listtable").jqgrid('getdataids');
for (var i=0; i<ids.length; i++) {
var cl = ids[i];
var currowdata = jquery("#listtable").jqgrid('getrowdata', cl);
var ckt = $("#listtable").find("input[id='jqg_" + cl + "']").attr("disabled");
if(ckt){
$("#listtable").find("input[id='jqg_" + cl + "']").attr("checked", true);
}
}
},
beforeselectrow:function(rowid, e){
//alert(rowid); //rowid的值是checkbox的value值
return false;
}
});
--------------------------------------------------------------------------------------------------
jqgrid被重新载入的做法如下:
function gridreload() {
jquery("#listtable").jqgrid('setgridparam', {
//url:'../../../com/shihuan/search.do',
//postdata: transferformelementstoobject('theform'),
postdata: {"message":msval},
page:1
}).trigger("reloadgrid");
}
上一篇: Go基础编程实践(五)—— 错误和日志
下一篇: Swoole 的微信扫码登录
推荐阅读
-
在ASP.NET 2.0中操作数据之五十:为GridView控件添加Checkbox
-
在ASP.NET 2.0中操作数据之五十:为GridView控件添加Checkbox
-
Asp.Net2.0权限树中Checkbox的操作
-
Asp.Net2.0权限树中Checkbox的操作
-
jqGrid中multiselect: true 操作checkbox
-
jQuery中获取checkbox选中项等操作及注意事项_jquery
-
jQuery中获取checkbox选中项等操作及注意事项_jquery
-
在Vue中如何操作自定义指令实现checkbox全选功能
-
JS/JQ中对checkbox操作的方法总结
-
IE7中javascript操作CheckBox的checked=true不打勾的解决方法_javascript技巧