2011-05-10 83 views
2

點擊我已經當我經過,並檢查複選框被選中的複選框和行顏色顯示它已被選中下面的jqGridjqGrid的多選複選框的行

$("#proposalsTable").jqGrid({ 
    url: url, 
    datatype: 'json', 
    mtype: 'GET', 
    altRows: false, 
    colNames: ['Model', 'Model Year', 'Cabinet', 'Shell', 'Customer', 'Designed By', 'Date'], 
    colModel: [ 

      { name: 'Model', index: 'Model', align: 'left' }, 
      { name: 'ModelYear', index: 'ModelYear', align: 'left' }, 
      { name: 'CabinetColor', index: 'CabinetColor', align: 'left' }, 
      { name: 'ShellColor', index: 'ShellColor', align: 'left' }, 
      { name: 'CustomerName', index: 'CustomerName', align: 'left' }, 
      { name: 'DesignedBy', index: 'DesignedBy', align: 'left' }, 
      { name: 'ProposalDate', index: 'ProposalDate', align: 'left' }, 

      ], 
    pager: jQuery("#proposalsPager"), 
    rowNum: 50, 
    rowList: [50, 75, 100], 
    sortname: 'ProposalDate', 
    sortorder: "desc", 
    viewrecords: true, 
    height: '700px', 
    multiselect: true, 
    autowidth: true, 
    shrinkToFit: true 

}); 

時沒有取消選中.. 。但是如果我回去並且點擊行(不在複選框上),行顏色顯示它沒有被選中,但是複選框保持被選中。 如果我運行代碼以確定此時是否真的檢查過。他們不是。但是,我回過頭來檢查行取消選中的複選框,雖然複選框顯示一個檢查。但是,網格認爲如果我運行代碼來查看它,那麼行未被選中。非常非常奇怪。 我該如何使點擊行不做任何事情,或者確保它們實際上取消選中複選框。 我希望這是有道理的。 謝謝!

+1

我發現這個問題,只是想把它放在這裏給其他人。 我強迫它使用jquery 1.4.4 而不是獲取最新版本 這解決了我上面的問題。 – twaldron 2011-05-10 21:17:29

回答

1

我發現這個問題,只是想把它放在這裏爲其他人。

我強迫它使用jquery 1.4.4

<script src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.4.4.min.js" type="text/javascript"></script> 

非但沒有最新版本

這個固定我上面遇到的問題的。

1

我的方法是在您的選項中實現一個函數來覆蓋onSelectRow事件。這需要一個rowId和一個狀態參數。

從那裏,你可以操縱基於rowId的行。

查看http://www.trirand.com/jqgridwiki/doku.php?id=wiki:events瞭解更多關於可用事件以及如何覆蓋它們的信息。注意:如果您重寫並返回false,則默認事件處理程序不會觸發。