2011-01-13 91 views
1
Here is the scenario: 

1.通过选中标题行复选框来选择所有行。 2.取消选择一行。 3.标题行复选框仍然被选中,因为没有选择所有行,所以这是无效的。jqGrid - 如何取消选择标题行复选框

如何取消选择hedaer行复选框? 谢谢

回答

6

您可以使用resetSelection方法。看看the example编写的thisthis的问题。 “清除选择”按钮使用resetSelection方法。

+0

resetSelection将取消选择所有行。我们需要做的是取消选中标题复选框,但将当前选中的行保留为选中状态。 – Darren

+0

@Darren:在这种情况下,您应该使用'getDataIDs'获取当前选定行的ID,请调用'resetSelection',然后调用'setSelection'查找以前选择的所有ID。请参阅示例http://www.ok-soft-gmbh.com/jqGrid/DataToMultiSelect2.htm中的单击“全选”按钮执行的代码。经过小小的修改后,你将拥有你所需要的。 – Oleg

0

你可以做到以下几点:

var grid = $("#ID_OF_YOUR_GRID"); 

grid.jqGrid({ 
     //other options 
     multiselect: true, 
     onSelectRow: function (rowid, status) {  
      var chkSelectAll = $("#ID_OF_THE_HEADER_CHECKBOX_USUALLY_CB_DATA"); 

      if (chkSelectAll.length && chkSelectAll.is(':checked') && !status) {   
       chkSelectAll.removeAttr('checked'); 
      } 
     } 
    }); 

BTW。你只需要JQGrid的旧版本。我已经在版本4.3.1中检查过,这是可以使用的。

相关问题