2011-06-21 74 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。 –