2016-08-12 38 views
0

任何机构都可以帮助我理清问题吗?jqgrid复选框在排序或搜索后不能保留为已检查

问题是:因为我检查了一些复选框,而不是使用文本框搜索或对列进行排序,选中的复选框不能再选中。

这里是我的代码片段:

// 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: <table id="jqGrid"></table>

enter image description here

+0

您使用哪个版本的jqGrid,从哪个版本的jqGrid([免费jqGrid](https://github.com/free-jqgrid/jqGrid),商业版[Guriddo jqGrid JS](http://guriddo.net) /?page_id = 103334)或版本<= 4.7中的旧jqGrid)。此外,如果您包含'mydata'的测试数据而不是发布PHP代码将会很有帮助。发布URL到工作演示(在JSFiddle for examle中)会更好。我开发的免费jqGrid分支支持'multiPageSelection:true'选项([here](http://stackoverflow.com/a/33021115/315935)),它可以与'multiselect:true'结合使用。它应该解决问题。 – Oleg

+0

Sry olega for incoveniency,我正在使用jqGrid JS - v5.1.1 - 2016-06-08。我已经设置了multiselect:true,但仍然是同样的问题 – nim

+0

和是的让我添加我的代码片段在jsfiddle样本数据 – nim

回答

1

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

0

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

感谢oleg的帮助。