gio*_*o79 8 jqgrid multi-select
我注意到在jqgrid演示(http://www.trirand.com/blog/jqgrid/jqgrid.html> Advanced> Multiselect)中,如果启用了分页,则只选择当前页面上的行(可见).
有关让它跨多个页面工作的任何提示.或任何其他替代解决方案?
我知道这个问题有点尘土飞扬,但我最近需要这个功能,并找到了我认为更干净的方法来实现它。
为什么不使用jqGrid 的onSelectRow和事件,而不是为每个复选框附加一个事件?onSelectAll当选择一行时,检查所选行的列表是否包含该行(基于 id)。如果它不存在并且已被选择,则将其添加到列表中;如果它存在并且不再被选择,则将其删除。如果选择了所有行,则迭代它们。
var $grid = jQuery("#myGrid");
var updateIdsOfSelectedRows = function (id, isSelected) {
var contains = idsOfSelectedRows.contains(id);
if (!isSelected && contains) {
for(var i=0; i<idsOfSelectedRows.length; i++) {
if(idsOfSelectedRows[i] == id) {
idsOfSelectedRows.splice(i, 1);
break;
}
}
}
else if (!contains) {
idsOfSelectedRows.push(id);
}
};
$grid.jqGrid({
....
onSelectRow: function(rowid, status){
updateIdsOfSelectedRows(rowid, status);
},
onSelectAll: function (aRowids, status) {
var i, count, id;
for (i = 0, count = aRowids.length; i < count; i++) {
id = aRowids[i];
updateIdsOfSelectedRows(id, status);
}
},
....
)};
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助其他人寻找解决方案。