easyui的复选框与行的选中问题

   var isCheckFlag = true;
   $("#dg").datagrid({
       onClickCell: function (rowIndex, field, value) {
           IsCheckFlag = false;
       },
       onSelect: function (rowIndex, rowData) {
           if (!IsCheckFlag) {
               IsCheckFlag = true;
               $("#dg").datagrid("unselectRow", rowIndex);
           }
       },
       onUnselect: function (rowIndex, rowData) {
           if (!IsCheckFlag) {
               IsCheckFlag = true;
               $("#dg").datagrid("selectRow", rowIndex);
           }
       }
    })
解决思路为,用一个标识变量来保存是否点击了单元格,如果点击了单元格则此操作不是通过复选框操作的,标识设为false。
在选中和取消选中事件中判断操作来源,即IsCheckFlag的值。如果为false,选中操作执行取消选中,取消选中操作执行选中。
执行之前默认把标识值设为默认值,如果是复选框操作,是不触发 onClickCell 事件的,也就是标识值会是true。

猜你喜欢

转载自blog.csdn.net/wly_syp/article/details/78875740
今日推荐