jqGrid中多选
原文地址;http://www.cnblogs.com/josechuanmin/archive/2013/05/19/3087138.html
在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");
}
jqGrid中多选的更多相关文章
- jqGrid中multiselect: true 操作checkbox
在jqGrid中设置multiselect: true可以实现全选的操作,但怎么设置被选中的checkbox里面的值呢,做法如下:jQuery("#listTable").jqGr ...
- [原创]纯JS实现网页中多选复选框checkbox和单选radio的美化效果
图片素材: 最终效果图: <html><title> 纯JS实现网页中多选复选框checkbox和单选radio的美化效果</title><head>& ...
- jqGrid中选择的行的数据[转]
如何获取jqGrid中选择的行的数据? 下面可以获取选择一行的id,如果你选择多行,那下面的id是最后选择的行的id: var id=$(‘#gridTable’).jqGrid(‘getGridPa ...
- jqGrid中实现radiobutton的两种做法
http://blog.sina.com.cn/s/blog_4f925fc30102e27j.html jqGrid中实现radiobutton的两种做法 ------------------- ...
- JS 获取select(多选下拉)中所选值的示例代码
通过js获取select(多选下拉)中所选值,具体实现如下,有需要的朋友可以参考下,希望对大家有所帮助 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML ...
- 如何获取jqGrid中选择的行的数据
原文地址:http://hi.baidu.com/feifan3211/item/c5831f44158761a5df2a9fc1 如何获取jqGrid中选择的行的数据? 下面可以获取选择一行的id, ...
- C#中datagridview选中行后textbox显示选中的内容
我想让datagridview中某一行被选中时,textbox中显示选中的值,datagridview的选中模式是整行:this.dataGridView1.SelectionMode = DataG ...
- 获取jqGrid中选择的行的数据以及 jqGrid获得所有行数据的方法
获取jqGrid中选择的行的数据: 获取选择一行的id,如果你选择多行,那下面的id是最后选择的行的id: 1 var id=$('#gridTable').jqGrid('getGridPara ...
- C#——DataGridView选中行,在TextBox中显示选中行的内容
C#--DataGridView选中行,在TextBox中显示选中行的内容,在DataGridView的SelectionChanged实践中设置如下代码 private void dataGridV ...
随机推荐
- When does layoutSubviews get called?
转自:http://blog.logichigh.com/2011/03/16/when-does-layoutsubviews-get-called/ It’s important to optim ...
- Gson解析json数据(转)
一. www.json.org这是JSON的官方网站. 首先,我,我们需要在code.google.com/p/google-gson/downloads/list下载JSON的jar包,解析后把gs ...
- poj 1125 Stockbroker Grapevine (dij优化 0ms)
#include<iostream> #include<cstdio> #include<cstring> #include<queue> #defin ...
- LINQ to SQL 基础
取得数据库Gateway 要操作数据库,我们首先要获得一个DataContext对象,这个对象相当于一个数据 库的Gateway,所有的操作都是通过它进行的.这个对象的名字是“Linq to SQL ...
- 配置Statspack
配置Statspack 配置前需要了解3个内容. 1.创建Statspack模式使用的密码. 2.Statspack使用的默认表空间. 3.Statspack使用的临时表空间. Create Tabl ...
- 苹果新政,禁止开发者在App中加入检查更新功能
今天妥妥的被拒了,苹果更新了新政策,不能在应用中出现检测更新的功能.AppStore会自动提醒用户更新. 去掉更新按钮,之后再尝试下看能通过不能
- 简单的js反选,全选,全不选
<html> <head> <base href="<%=basePath%>"> <title>My JSP 'che ...
- rhel-server-6.2-i386安装gcc、g++步骤
安装的版本:rhel-server-6.2-i386 RHEL 6.2默认是没有gcc和gcc-c++环境的,而且我也没有$购买正版服务.只能本地安装了,总结方法如下: 上传安装镜像rhel-serv ...
- Delphi 串口通信(1)
利用 Delphi实现串口通信的常用的方法有 3种: 一是利用控件,如 MSCOMM控件和 SPCOMM控件: 二是使用 API函数: 三是调用其他串口通信程序.其中利用 API编写串口通信程序较为复 ...
- NHibernate考察实例:简单映射
建立一个Company类用来测试,对应的表为TBLCOMPANY. 1. 下载NHibernate(版本1.2.0.CR1),将NHibernate \bin\net-2.0下面的文件拷贝到lib ...