jQgrid:multiselect true-在页面加载时默认选中每一行 jQuery(“网格”).jqGrid({ url:call_url, 数据类型:“json”, 高度:“自动”, rowNum:20, 行列表:[20,30,40], colNames:[], colModel:[ {name:'USER\u ID',index:'USER\u ID',align:'center',search:false,hidden:true,key:true}, {name:'PROJECT_name',index:'PROJECT_name',align:'center',search:false,hidden:true}, {name:'EMP_name',index:'EMP_name',sortable:true,summaryType:'count',summaryTpl:'Total({0})Resource Hours'}, {名称:'',索引:'',搜索:false,对齐:“中心”,可排序:false,宽度:80}, ], 寻呼机:“#第页”, 多选:对, shrinkToFit:是的, 自动宽度:正确, viewrecords:是的, 分组:对, groupingView:{groupField:['PROJECT_NAME'], groupColumnShow:[错误], groupText:['{0}'], 组崩溃:错误, groupOrder:['asc'], groupSummary:[true], showSummaryOnHide:正确, groupDataSorted:true}, sortname:“EMP_NAME”, 标题:“以编程方式阻止某些网格行的选择”, gridComplete:函数(){ var recs=$(“#网格”).getGridParam(“记录”); $(“.mycontent”).remove(); if(recs==0 | | recs==null){ $(“#网格”)。之后(“未找到记录”); $(“#btn_提交”).hide(); } }, loadComplete:函数(){ $(“#cb#U网格”)。单击(); }, rowattr:函数(项){ if(parseInt(item.ID)==1){ 返回{“类”:“禁用ui状态的ui jqgrid disablePointerEvents”}; } }, //防止选择禁用的行 beforeSelectRow:函数(rowid,e){ if($(e.target).closest(“tr.jqgrow”).hasClass(“ui状态已禁用”)){ return false;//不允许选择行 } 返回true;//允许选择行 } })

jQgrid:multiselect true-在页面加载时默认选中每一行 jQuery(“网格”).jqGrid({ url:call_url, 数据类型:“json”, 高度:“自动”, rowNum:20, 行列表:[20,30,40], colNames:[], colModel:[ {name:'USER\u ID',index:'USER\u ID',align:'center',search:false,hidden:true,key:true}, {name:'PROJECT_name',index:'PROJECT_name',align:'center',search:false,hidden:true}, {name:'EMP_name',index:'EMP_name',sortable:true,summaryType:'count',summaryTpl:'Total({0})Resource Hours'}, {名称:'',索引:'',搜索:false,对齐:“中心”,可排序:false,宽度:80}, ], 寻呼机:“#第页”, 多选:对, shrinkToFit:是的, 自动宽度:正确, viewrecords:是的, 分组:对, groupingView:{groupField:['PROJECT_NAME'], groupColumnShow:[错误], groupText:['{0}'], 组崩溃:错误, groupOrder:['asc'], groupSummary:[true], showSummaryOnHide:正确, groupDataSorted:true}, sortname:“EMP_NAME”, 标题:“以编程方式阻止某些网格行的选择”, gridComplete:函数(){ var recs=$(“#网格”).getGridParam(“记录”); $(“.mycontent”).remove(); if(recs==0 | | recs==null){ $(“#网格”)。之后(“未找到记录”); $(“#btn_提交”).hide(); } }, loadComplete:函数(){ $(“#cb#U网格”)。单击(); }, rowattr:函数(项){ if(parseInt(item.ID)==1){ 返回{“类”:“禁用ui状态的ui jqgrid disablePointerEvents”}; } }, //防止选择禁用的行 beforeSelectRow:函数(rowid,e){ if($(e.target).closest(“tr.jqgrow”).hasClass(“ui状态已禁用”)){ return false;//不允许选择行 } 返回true;//允许选择行 } }),jquery,jqgrid,Jquery,Jqgrid,上面的代码就是这样做的 必需的是 将jqGrid与multiselect:true一起使用如何设置页面加载时默认选中的每一行?如果将jqGrid 4.6与数据类型:“json”一起使用,jqGrid版本-4.6“和noloadonce:true选项则您没有太多的可能性。您必须枚举网格的所有多选复选框并在其中选择。所以你可以 jQuery("#grid").jqGrid({ url:call_url, datatype: "json", height: 'aut

上面的代码就是这样做的

必需的是


将jqGrid与
multiselect:true一起使用
如何设置页面加载时默认选中的每一行?如果将jqGrid 4.6与
数据类型:“json”一起使用,jqGrid版本-4.6

和no
loadonce:true
选项则您没有太多的可能性。您必须枚举网格的所有多选复选框并在其中选择。所以你可以

jQuery("#grid").jqGrid({
    url:call_url,
        datatype: "json",
    height: 'auto',
    rowNum: 20,
    rowList: [20,30,40],
    colNames:[<?php echo $col;?>],
    colModel:[
                {name:'USER_ID',index:'USER_ID', align:'center',search:false,hidden:true,key:true},
        {name:'PROJECT_NAME',index:'PROJECT_NAME', align:'center',search:false,hidden: true},
        {name:'EMP_NAME',index:'EMP_NAME', sortable:true,summaryType:'count',summaryTpl : 'Total ({0}) Resource Hours' },
        <?php for($i=1;$i<=count($cal_arr);$i++) {?>
        {name:'<?php echo $i;?>',index:'<?php echo $i;?>',search:false,align:"center",sortable:false ,width:80 },
        <?php } ?>
    ],
    pager: "#page",
        multiselect: true,
    shrinkToFit :true,
    autowidth: true,
    viewrecords: true,
    grouping: true, 
    groupingView : { groupField : ['PROJECT_NAME'], 
                    groupColumnShow : [false], 
                    groupText : ['<b>{0}</b>'],
                    groupCollapse : false, 
                    groupOrder: ['asc'], 
                    groupSummary : [true], 
                    showSummaryOnHide: true,
                    groupDataSorted : true },
    sortname: 'EMP_NAME',
    caption: "Programatically block selection of some grid row',
    gridComplete: function () {
                    var recs = $("#grid").getGridParam("records");
                    $( ".mycontent" ).remove();
                    if (recs == 0 || recs == null) {
                        $('#grid').after("<div class='mycontent' style='color:red;text-align:center'>No Record Found</div>");
                        $("#btn_submit").hide();
                    }
            },


        loadComplete: function () {
            $("#cb_grid").click(); 
        },

            rowattr: function (item) {
                    if (parseInt(item.ID) == 1) {
                        return {"class": "ui-state-disabled ui-jqgrid-disablePointerEvents"};
                    }
            },

            //prevent selection of disabled rows
            beforeSelectRow: function (rowid, e) {
                if ($(e.target).closest("tr.jqgrow").hasClass("ui-state-disabled")) {
                    return false;   // not allow select the row
                }
                return true;    // allow select the row
            }

})
例如,
loadComplete
回调的内部。如果您考虑所有情况,您可能会添加更多的附加条件,因为排序、分页等操作将调用
loadComplete

更新:您的代码有
$('.cbox').attr('checked',true)行内的
rowattr
。以不更改行的复选框的方式,该行尚不存在。而不是在列标题的复选框上设置
checked
属性和错误值
true
,而不是
“checked”
。您应该删除该行,以便能够使用我建议您使用的代码:

$("#cb_grid").click(); // "grid" is the grid id

请参阅演示:

请始终包括您使用的jqGrid fork和jqGrid版本。不同的版本有不同的可能性。例如,如果您仍然使用jqGrid 4.6,那么如果
数据类型:“local”
取消排序:false
多选:true
selarrrow
数组中填充了加载期间需要选择的行ID,则可以加载所有选定的数据。@Oleg,在我的例子中,它的
数据类型:“json”,
多选:true
。如何获取行的ID,并在第一次加载页面时保持默认选中状态?Oleg:我用您的fiddle代码替换了我的代码,但它仍然没有选中行的所有复选框,而只选中了
cb_grid
。负责保持所有行处于选中状态的代码是
loadComplete:function(){$(“#cb”+this.id)me@Slimshadddyyy:我给你发了一个有效的演示。因此,您描述的问题不是一些常见的jqGrid问题,而是特定代码中的问题。您可以修改演示,使其再现问题,保存它并向我发布URL。只有不起作用的演示我才能帮你。请找到小提琴。我已经用你的小提琴添加了我的完整代码。指定的代码后面跟着
loadComplete
@slimshaddyyy:由于语法错误,您的演示不会显示任何内容。将
替换为
新建\u call\u url=”“”后
to
new\u call\u url=“somevalidul”
它像预期的那样工作,没有任何问题:您的代码似乎是正确的,但我无法理解为什么它不适合我。从最后几个小时起,我真的很烦你。感谢你的真诚帮助。接受你的回答。
loadComplete: function () {
    $("#cb_" + this.id).click();
},
rowattr: function (item, rd, rowid) {
    //$('.cbox').attr('checked', true);
    if (parseInt(rowid) === 10) {
        return {"class": "ui-state-disabled ui-jqgrid-disablePointerEvents"};
    }
},
beforeSelectRow: function (rowid, e) {
    if ($(e.target).closest("tr.jqgrow").hasClass("ui-state-disabled")) {
        return false;   // not allow select the row
    }
    return true;    // allow select the row
}