2011-06-21 107 views
1

我尝试接收的jqGrid的行ID的复选框点击喜欢:jqGrid的选择行checkboxclick

loadComplete : function() { 
    jQuery(".jqgrow td input").each(function() { 
     jQuery(this).click(function() { 
      var grid = $("#list"); 
      var rowid = grid.jqGrid('getGridParam', 'selrow'); 
      alert(rowid); 
     }); 
    }); 
} 

但排不选择 - 所以我总是收到一个空。 可能是什么原因? 谢谢。

回答

4

原因是var rowid = grid.jqGrid('getGridParam', 'selrow');如果您已经通过之前点击行选择的行只包含rowid

如果你想要一个选择,那么你就可以在onSelectRow代替

onSelectRow: function(id,status){ 
    var rowData = jQuery(this).getRowData(id); 
    var ch = jQuery(this).find('#'+id+' input[type=checkbox]').attr('checked'); 
    if(ch) { 
     jQuery(this).find('#'+id+' input[type=checkbox]').attr('checked',false); 
    } else { 
     jQuery(this).find('#'+id+' input[type=checkbox]').attr('checked',true);      
    } 

    rowChecked=1; 
    currentrow=id; 
} 
+0

这个答案并不直接适用于我自己的问题,但我投了票,因为它间接导致了解决我自己的复选框/ jqGrid问题:当你知道'rowid'时,如何在只有一行时检查复选框。 '$( '#' + ROWID + '输入[类型=复选框]')。每个(函数(I){' '如果(this.checked == TRUE){' '警报($(这个).attr('id'));' '}' });'' –

0

为什么不使用jqGrid中内置的onSelectRow事件?

你可以阅读更多有关的jqGrid事件here

+0

选中该复选框因为我只需要在点击复选框。 onSelectRow我用于选择行的delet。 –