【问题标题】:jqgrid select checkboxjqgrid选择复选框
【发布时间】:2013-02-06 22:40:09
【问题描述】:

通过使用以下代码,我的网格上有一个复选框:

     colNames: [..., 'Select'],
     ...
     ...

     { name: 'act', index: 'act', width: 30, sortable: false }
     ....

     <input type="button" id="bUpload" value="Upload Report" />

用户点击了上传按钮,并且用户为此列选择了多个复选框,我喜欢显示一条消息。我不知道该怎么做。

我尝试了以下但是

     $("#bUpload").click(function() {

       var selectedRow;

       if ($("input:checked").length > 1)
       {
          alert('Error -  Please select only one row.');
          return false;
       }


       if ($("input:checked").length > 0) 
       {              
          $("input:checked").each(function() 
          {
             selectedRow = this.value ;
          });
        }    

....

这可行,但我不喜欢这样的原因是因为我可以为其他列设置其他复选框,以及它们是否从“act”列中选择可能会产生混淆。我怎么说该列是否用于“行为”,然后检查选择了多少。

【问题讨论】:

  • 您能否发布更多实施细节?当前代码似乎很可疑,至少因为复选框按钮具有id 属性。乍一看,formatter: "checkbox", formatoptions: {disabled: false} 的用法将是您的最佳选择。您可以另外使用beforeSelectRowonCellSelect 来检查复选框。

标签: jqgrid


【解决方案1】:

您可以遍历网格上的每一行并测试每一行。

//iterate over each row 
var rowIds = $('#gridName').jqGrid('getDataIDs');

for (i = 1; i <= rowIds.length; i++) {
    rowData = $('#gridName').jqGrid('getRowData', i);

    if(rowData['act'] //etc..checkbox check) {

    }//if
}//for

【讨论】:

  • 谢谢,但这似乎不起作用。我们为什么要通过 i。不应该是每个rowId的值吗?
  • I 是行号,因为您正在遍历网格的每一行。然后,您可以检查您关心的单元格的值。
  • 我在哪里可以使用 this.Value 来获取检查的值?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-04
  • 2012-01-25
  • 1970-01-01
  • 1970-01-01
  • 2021-01-07
相关资源
最近更新 更多