zoukankan      html  css  js  c++  java
  • 基于EasyUi ComBotree树修改 父节点选择问题

    本人在使用 Easy UI 期间发现了一个不太适合项目的bug,可能也不算bug把 。 毕竟不同项目背景 取舍不同。

    我在做网元树选择的时候  发现当选取父节点后,子节点都会被选择  返回  。但是如果我们选中父节点后没有必要选择子节点。 故对源脚本作适当修改

    下拉框树修改 父节点选中后只显示父节点  取消返回子节点
    修改方法 找到树的选择函数 进行遍历判断 
    查找关键字 combotree multiple
    大约行数 10564

    function _7d5(_7d6) {
    var opts=$.data(_7d6,"combotree").options;
    var tree=$.data(_7d6,"combotree").tree;
    var vv=[],ss=[];
    if(opts.multiple){
    var _7d7 = tree.tree("getChecked");//获得树的选择
    for (var i = 0; i < _7d7.length; i++) {
    // if (tree.tree('isLeaf', _7d7[i].target)) { //如果当前节点是叶子节点
    var pnode = tree.tree('getParent', _7d7[i].target); //获取当前节点的父节点
    if (pnode) {
    var nopnode = true;
    for (var j = 0; j < i; j++) {//endfor遍历循环是否存在父节点
    if (_7d7[j].id == pnode.id) { nopnode = false; }
    }
    if (nopnode == true) {//如果不存在父节点
    vv.push(_7d7[i].id);
    ss.push(_7d7[i].text);
    }
    }
    // } //end是叶子节点
    else {
    vv.push(_7d7[i].id);
    ss.push(_7d7[i].text);
    }//是根节点
    }//end for

    //该处为源代码  
    //for(var i=0;i<_7d7.length;i++){
    //vv.push(_7d7[i].id);
    //ss.push(_7d7[i].text);
    //}//end for

    //end if
    } else {
    var node=tree.tree("getSelected");
    if(node){
    vv.push(node.id);
    ss.push(node.text);
    }
    }
    $(_7d6).combo("setValues",vv).combo("setText",ss.join(opts.separator));
    };

  • 相关阅读:
    Razor 视图引擎的一些属性和方法
    Asp.Net Mvc Razor
    微信小程序时代已经来临
    ionic常用命令记录
    ionic中将service中异步返回的数据赋值给controller的$scope
    nodejs连接mysql实例
    转载:ionic+nodejs开发遇到的跨域和post请求数据问题
    NodeJs-- 新建项目实例
    Bootstrap学习指南
    ios开发环境配置及cordova安装与常用命令
  • 原文地址:https://www.cnblogs.com/zhangmuyang/p/Jquery_EasyUI.html
Copyright © 2011-2022 走看看