簡體   English   中英

如何知道JqGrid multiselect'全選'復選框已選中

[英]how to know JqGrid multiselect 'select all' checkbox is checked

我試圖在JQgrid中顯示所選行。 現在,我有這個代碼:

onSelectRow:function(rowid){
    var selectedRow = $('#mygrid').jqGrid('getGridParam', 'selarrrow');
    $("#totalSelected").val(selectedRow .length); 
}

它工作正常,但是當選中'select all'復選框時,它沒有觸發此代碼,盡管在視覺中我們可以看到所有行都已被選中。

所以我想如果我知道選中'全選'復選框,我可以像這樣設置所選的總值:

  if(//selectall checkbox is checked) 
      $("#totalSelected").val($("#mygrid tr").length-1);

我通過引用這個答案嘗試了這個代碼,但我很確定.checked()無法識別:

  if($("#cb_mygrid"[0].id).checked()) 
      $("#totalSelected").val($("#mygrid tr").length-1);

任何想法都非常感謝

使用標題復選框選擇所有項目時,onSelectRow不會觸發。 有一個單獨的事件處理程序來捕獲Select All事件。 從文檔:

onSelectAll

向您發送以下參數:aRowids,status

當multiselect選項為true並且單擊標題復選框時,將觸發此事件。 aRowids是所選行(rowid)的數組。 status是一個確定標題復選框狀態的布爾變量 - 如果選中則為true,否則為false。 請注意,無論是選中還是取消選中標題復選框,aRowids數組都將始終包含ids。

觸發此事件時,在您的情況下,您需要執行以下操作以顯示所選行的正確計數:

onSelectAll: function(aRowids, status) {
    //Use a ternary operator to choose zero if the header has just been unchecked, or the total items if it has just been checked.
    $("#totalSelected").val(status === false ? 0 : aRowids.length);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM