【问题标题】:jqgrid checkbox can not retain as checked after sorting or searchingjqgrid复选框在排序或搜索后不能保留为选中状态
【发布时间】:2016-12-19 09:05:28
【问题描述】:

任何机构可以帮助我解决我的问题吗?

问题是:由于我选中了一些复选框,而不是使用文本框搜索或对列进行排序,选中的复选框无法重新选中。

这是我的代码 sn-p:

// PREPARE VARIABLE FOR TABLE DATA FILLUP
var mydata = [
  {"sequence":"sequence","odk":"odk","down":"down"}
];

$(document).ready(function () {
//TO LOAD THE DATA IN TABLE
$("#jqGrid").jqGrid({
    datatype: "local",
    data: mydata,
    height: 250,
    width: 961,
    colModel: [
        { label: 'sequence', name: 'sequence', width: 75 },
                    { label: 'ODK', name: 'odk', width: 75 },
        { label: 'Down', name: 'down', width: 75 },

    ],
    viewrecords: true, // show the current page, data rang and total records on the toolbar
    <!--sortable: true,-->
    colMenu : true,
    shrinkToFit : false,
    multiselect: true,
    caption: "Game Film Search Tool",
});
$('#jqGrid').jqGrid('filterToolbar',{
    stringResult: true,
    //searchOnEnter: false,
    searchOperators : true
});
});

// AS SELECT CHECKBOX FROM TABLE
function getSelectedRows() {

var grid = $("#jqGrid");
var rowKey = grid.getGridParam("selrow");

if (!rowKey)
alert("No rows are selected");
else {
var selectedIDs = grid.getGridParam("selarrrow");
var result = "";
for (var i = 0; i < selectedIDs.length; i++) {
    result += selectedIDs[i] + ",";
}

var reelName = prompt("Please enter a title", "Title");
if (reelName != null) {
    //alert("Saving " + reelName + " with these clips" + result);
    var gameid = $(".schoolid_chk").val();
    var result = result.slice(0,-1);
    $.ajax({
        data:{'reelName':reelName,'result': result},
        type: 'POST',
        dataType:'html',
        url: 'saveReelHeaderAndDetail.php',
        success:function(data){
                $('#savemsg').text(data);
                $('#savemsg').show();
        },
    });
}
    }
    }

这是 HTML: &lt;table id="jqGrid"&gt;&lt;/table&gt;

【问题讨论】:

  • 您使用哪个版本的 jqGrid 以及来自哪个 jqGrid 分支(free jqGrid、商业Guriddo jqGrid JS 或版本 mydata 的测试数据而不是发布 PHP 代码,这将很有帮助。将 URL 发布到工作演示(例如在 JSFiddle 中)会更好。我开发的免费jqGrid fork,支持multiPageSelection: true选项(here),可以和multiselect: true结合使用。它应该可以解决问题。
  • 抱歉 olega 不便,我正在使用 jqGrid JS - v5.1.1 - 2016-06-08。我已经设置了multiselect:true,但还是同样的问题
  • 是的,让我在 jsfiddle 中添加我的代码 sn-p 和示例数据
  • 在 jqGrid 4.7 发布后不久就发布了 this。换句话说,在 4.7 之后不再存在 jqGrid。 jqGrid 的主分支有另一个产品名称:Guriddo jqGrid JS,它不是免费的 - 必须以the prices 购买。因此,我以 free jqGrid 的名义启动了 alternative fork,它基于 jqGrid 4.7。我重写了许多部分并实现了许多与旧版本兼容的新功能。 v5.1.1 是 Guriddo,我帮不了你。
  • 要尝试使用免费的 jqGrid,您只需将 URL 更改为 jqGrid 文件。您已经从 CDN 加载文件(参见 the wiki)或从 npm (here)、bower、NuGet (here) 或 Maven Central 获取文件。 The demo 演示了 both multiPageSelection: truemultiselect: true 的用法。

标签: checkbox jqgrid jqgrid-php


【解决方案1】:

我建议你升级到free jqGrid(当前版本是4.13.4)。它包含新选项multiPageSelection: true,可以与multiselect: true 组合使用。添加选项应该可以解决您的问题。详情请参阅我为the old answer准备的the demo

【讨论】:

    【解决方案2】:

    根据 oleg 的建议,我刚刚在我的文件中添加了最新的 jqgrid jquery,问题已经解决。

    感谢 oleg 的帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-12-31
      • 2016-10-13
      • 1970-01-01
      • 2022-01-17
      • 1970-01-01
      • 2017-02-27
      • 2020-06-11
      • 1970-01-01
      相关资源
      最近更新 更多