EasyUI ComboTree

开发 开发工具
设置栏目树选中无效,在用户点击勾选复选框之前触发,返回false可以取消选择动作。

 

  1. <div class="easyui-dialog" id="user_dialog_role" title="选择用户功能权限" style="background-color:#fcfcfc;width:20%;height:85%;" 
  2.  data-options="closed:true,modal:true
  3.  buttons:[{ 
  4.  text:'选 择'
  5.  handler:function(){ 
  6.  getChecked(); 
  7.  $('#user_dialog_role').dialog('close'); 
  8.  } 
  9.  }]"> 
  10.  <form id="user_form_role" name="user_form_role" method="post"
  11.  <div class="easyui-panel" fit="false" border="false"
  12.  <ul id="user_tree_role" checkbox="true" cascadeCheck="false" 
  13.  style="background-color:#fafafa;"></ul> 
  14.  <input type="hidden" id="tree_type"
  15.  </div> 
  16.  </form> 
  17. </div> 
  1. function userRole(type){ 
  2.  $('#user_tree_role').tree({ 
  3.  url: '${request.contextPath}/menu/tree'
  4.  onLoadSuccess: function (e, node) { 
  5.  treeChecked(node, type); 
  6.  }, 
  7.  onBeforeCheck: function (e, checked) {//设置栏目树选中无效,在用户点击勾选复选框之前触发,返回false可以取消选择动作 
  8.  /* if (type == 'new') { 
  9.  if (e.attributes.virtualColumn == 'true') { 
  10.  return false
  11.  } 
  12.  } else { 
  13.  if (e.attributes.virtualColumn == 'true' || e.id == $('#column_tree').tree('getSelected').id) { 
  14.  return false
  15.  } 
  16.  } */ 
  17.  } 
  18.  }); 
  19.  $('#tree_type').val(type); 
  20.  $('#user_dialog_role').dialog('open'); 
  1. function treeChecked(node, type) {//遍历节点,符合要求的更新对应节点 
  2.  var menuVal = ''
  3.  if (type == 'add') { 
  4.  menuVal = $('#menuID').val() + ","
  5.  } else { 
  6.  menuVal = $('#menuID_edit').val() + ","
  7.  } 
  8.  $.each(node, function (idx, val) { 
  9.  if (val instanceof Object) { 
  10.  var nodes = $('#user_tree_role').tree('find', val.id); 
  11.  if (nodes != null) { 
  12.  if (menuVal.indexOf(val.id + ",") != -1) {//选中已勾选的栏目 
  13.  $('#user_tree_role').tree('update', {target: nodes.target, checked: true}); 
  14.  } 
  15.  } 
  16.  } 
  17.  if (val.children) { 
  18.  treeChecked(val.children, type);//如果还有子节点则继续遍历 
  19.  } 
  20.  }); 
  21. function getChecked() { 
  22.  var nodes = $('#user_tree_role').tree('getChecked'); 
  23.  var s = ''
  24.  var v = ''
  25.  for (var i = 0; i < nodes.length; i++) { 
  26.  if (s != '') s += ','
  27.  s += nodes[i].text; 
  28.  if (v != '') v += ','
  29.  v += nodes[i].id; 
  30.  } 
  31.  var t=$('#tree_type').val(); 
  32.  if(t=='add'){ 
  33.  $('#menuID').val(v); 
  34.  $('#menu').textbox('setValue', s); 
  35.  } 
  36.  if(t=='edit'){ 
  37.  $('#menuID_edit').val(v); 
  38.  $('#menu_edit').textbox('setValue', s); 
  39.  } 

【本文是51CTO专栏作者张勇波的原创文章,转载请通过51CTO获取作者授权】

责任编辑:武晓燕 来源: 上下求索的Z先生博客
相关推荐

2012-07-10 09:34:50

jQuery

2016-12-15 09:17:30

easyui form数据方法

2016-12-13 13:38:50

easyuiopen上传框

2011-07-25 14:49:36

jQuery

2016-12-13 13:54:10

EasyUI form数据加载

2015-06-25 15:39:17

WebWeb应用程序

2015-12-09 09:03:22

点赞
收藏

51CTO技术栈公众号