easyui datagrid 單擊行不選擇行


    • 其實這個功能可以通過選擇單擊事件的作用域來實現
    • html里面,一切元素都可以通過document來得到,所以我們的思路就是取消除了checkbox那個td之外的所有td的單擊事件,通過unbind來實現
    • 以下展示代碼,以下代碼是放在onLoadSuccess事件中
         1:  var s= $("#dg1").datagrid('getPanel');
         2:  var rows = s.find('tr.datagrid-row');
         3:  var rows1 = s.find('tr.datagrid-row td[field!=ck]');
         4:  rows1.unbind('click').bind('click',function(e){
         5:          return false;
         6:  });
    • 我使用的easyui版本是1.3.4
  • 分享一下小知識
    • datagrid獲取剛選擇的行的行號代碼
      var s = $('#dg1').datagrid('getSelected');
      var index = $("#dg1").datagrid('getRowIndex',s);
      
    • 如果要獲取多行
      var s = [];
      var index = [];
      s = $('#dg1').datagrid('getSelected');
      for(var i=0; i<s.length; i++) {
        index.push($("#dg1").datagrid("getRowIndex",s[i]));
      }
      
    • 在調用onClickRow單擊事件之前,總會先調用onSelect和onUnSelect事件
    • 其實可以通過console.log()來調試js程序,而不是用alert,因為console不會打斷程序的進行,可以瀏覽器的控制台進行查看,以下是firefox的控制台
    • 以下是關於easayui中的this
      var s= $("#dg1").datagrid('getPanel');
      var rows = s.find('tr.datagrid-row');
      var checkrows = rows.find('input[type=checkbox]');
      $.each(checkrows,function(index,value){
        console.log(this.checked);
      }
      
      這個程序會輸出所有的checkbox的值,即true or false,這里的this返回的是一個input object對象,所以可以直接調用this.property來獲取屬性值
    • 關於getSelected獲取的值,其實getSelected獲取的值的樣式是{xx="xx",yy="yy"},所以要取某個屬性的值,只需要datagrid("getSelected").xx就行了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM