• 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就行了
  • 相关阅读:
    数据类型,线性表概念
    POJ3261:Milk Patterns——题解
    POJ1743:Musical Theme——题解
    BZOJ1031:[JSOI2007]字符加密——题解
    BZOJ1565:[NOI2009]植物大战僵尸——题解
    BZOJ1076:[SCOI2008]奖励关——题解
    BZOJ4873:[SHOI2017]寿司餐厅——题解
    BZOJ4872:[SHOI2017]分手是祝愿——题解
    BZOJ4870:[SHOI2017]组合数问题——题解
    HDU5446:Unknown Treasure——题解
  • 原文地址:https://www.cnblogs.com/popping57/p/3269234.html
Copyright © 2020-2023  润新知