zoukankan      html  css  js  c++  java
  • 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,
                      '0%',
                     hidden:true
                   },
                   {
                     name: 'MY_NO',
                     index:'MY_NO',
                     sortable: false,
                     align:'center',
                     '10%'
                   },
                  {
                     name: 'NAME',
                     index:'NAME',
                     sortable: false,
                     align:'center',
                     '10%'
                  }
                ],
                page: 1,
                rowNum: 10,
                rowList: [10, 20, 30],
                pager: '#listPage',
                multiselecttrue,
                sortname: 'MY_NO',
                viewrecords: true,
                sortorder: "desc",
                jsonReader: {
                    repeatitems: false
                },
                 "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赋予额外的属性值

                       //curChk.attr('checked', 'true');   //设置所有checkbox被选中
                    }
     
                    //下面的代码顺序不能变(这是页面上所有行被选中[所有行被黄色])
                    //$("#cb_listTable").attr("checked", true);
                    //$("#cb_listTable").click();   //input框
                    //$("#jqgh_listTable_cb").click();   //div标签
                    //$("#listTable_cb").click();   //th标签
                }
    });

    加载完列表后获取被选中的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,
                      '0%',
                     hidden:true
                   },
                   {
                     name: 'MY_NO',
                     index:'MY_NO',
                     sortable: false,
                     align:'center',
                     '10%'
                   },
                  {
                     name: 'NAME',
                     index:'NAME',
                     sortable: false,
                     align:'center',
                     '10%'
                  }
                ],
                page: 1,
                rowNum: 10,
                rowList: [10, 20, 30],
                pager: '#listPage',
                multiselecttrue,
                multiboxonlytrue,
                sortname: 'MY_NO',
                viewrecords: true,
                sortorder: "desc",
                jsonReader: {
                    repeatitems: false
                },
                 "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");
    }
     
  • 相关阅读:
    455. Assign Cookies(分饼干)(leetcode)
    栈的压入、弹出序列 (剑指offer)
    第五届蓝桥杯c/c++B组1
    第六届蓝桥杯试题c/c++B组8
    第六届蓝桥杯试题c/c++B组7
    第六届蓝桥杯试题c/c++B组6
    第六届蓝桥杯试题c/c++B组5
    第六届蓝桥杯试题c/c++B组4
    第六届蓝桥杯试题c/c++B组3
    第六届蓝桥杯试题c/c++B组2
  • 原文地址:https://www.cnblogs.com/niaowo/p/3382121.html
Copyright © 2011-2022 走看看