【问题标题】:jqGrid - make multiselect checkbox checked when I click on another checkbox inside gridjqGrid - 当我单击网格内的另一个复选框时选中多选复选框
【发布时间】:2016-04-20 06:31:35
【问题描述】:

在我的网格功能中,我希望在单击网格内的任何复选框时选中多选复选框。 这是我的网格代码:

var el = jQuery("#GridId"),
    gridWidth = calculateWidth(null,null,el);
el.jqGrid({
    datatype: 'local' ,
    caption: localeHolder['List_View'],
    hidegrid : false,
    mtype : 'POST',
    autowidth: true,
    height: calculateHeight(el),
    width:gridWidth,
    rowNum: 30,
    colNames:[localeHolder['T1'],localeHolder['T2'],localeHolder['T3'],localeHolder['T4'],localeHolder['T5']],
    colModel:[
              {name:'t1',index:'t1.id1',searchtype:"String", align:"left",hidden:false,width:calculateWidth(20,gridWidth,null),
                      searchtype:"String", searchoptions:{sopt:['eq','ne','le','lt','gt','ge']}},
              {name:'t2',index:'t1.id2',searchtype:"String", sortable:true,width:calculateWidth(30,gridWidth,null),
                      //formatter:function (cellvalue, options, rowObject){ return formatTypeRequiredSpecialCharacterNotAllowedTextBox(options, rowObject,'t2',50,true,"onClickEventOnGrid("+ options.rowId +")");}
                      },
              {name:'t3',index:'t1.id3',searchtype:"String", align:"left", sortable:true,width:calculateWidth(60,gridWidth,null),
                      searchtype:"String",searchoptions:{sopt:['cn','bw','ew','eq','ne']}},
              {name:'t4',index:'t1.id4', /*align:"center",*/ sortable:true,width:calculateWidth(20,gridWidth,null),
                          formatter:function (cellvalue, options, rowObject){ return formatTypeCheckBox(options, rowObject,'t2',true,"onClickEventOnGrid("+ options.rowId +")");},
                          searchtype:"String",searchoptions:{sopt:['cn','bw','ew','eq','ne']}},
              {name:'t5',index:'t1.id5', /*align:"center",*/ sortable:true,width:calculateWidth(20,gridWidth,null),
                          formatter:function (cellvalue, options, rowObject){ return formatTypeCheckBox(options, rowObject,'t2',true,"onClickEventOnGrid("+ options.rowId +")");},
                          searchtype:"String",searchoptions:{sopt:['cn','bw','ew','eq','ne']}}
              ],
    multiselect: true,
    pager: '#GridPagerId',
    sortname: 't1',
    sortorder: "asc", 
    viewrecords : true,
    emptyrecords : localeHolder['no_result_found'],
    loadonce : false,
    altRows:true,
    altclass:'altRow',
    hoverrows: true,
    ignoreCase: true,
    gridview: true,

    onPaging: function(pgButton) {
        return onPageEventInGrid("GridId","GridPagerId",pgButton);
    },
    beforeSelectRow: function(rowid, e){
        return(true);
    },
    onSelectRow:function() {

        return(true);
    },
    onSortCol: function () {

    },
    beforeRequest : function(){

    },
    loadComplete : function() {


    },
    loadError : function(error) {
        openErrorDialog(GRID_ERROR);
    },
    jsonReader : {
        root : "gridRecords",
        page : "page",
        total : "total",
        records : "records",
        repeatitems : false,
        cell : "cell"
    }

所以每当我点击 T4 或 T5 时。多选复选框应该被选中?

【问题讨论】:

    标签: javascript jquery checkbox jqgrid


    【解决方案1】:

    可以在 Grid 的 onSelect 函数上完成。 我们只需要获取该 id 即可勾选/选中。

      onSelectRow:function(rowId, status, e) {
            var rowData = $('#GridId').jqGrid ('getRowData', rowId); 
            if($("#xxx_GridId_" + rowId).is(':checked')) {
                $("#ChkBoxId" + rowData.t2).attr("checked", true);
            }
            return(true);
    

    其中,xxx_gridId + rowId 共同构成了该多选复选框的“id”。

    【讨论】:

    • 但是尽管它被检查了。提交数据时未选择网格行。有人知道这个问题吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-08
    • 1970-01-01
    • 1970-01-01
    • 2021-02-26
    相关资源
    最近更新 更多