2016-08-12 69 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的幫助。