LigerUI下拉选择列表LigerComboBox中tree的节点初始化默认选中的问题

释放双眼,带上耳机,听听看~!

问题描述

用后台的Json传送tree的数据

前端用js方法来控制选中节点

此方法存在bug

实例:

bug问题:无论设置的默认选中值是多少个,前台checkbox最多只显示选中一个,但是内容框中显示正常

默认选中的控制代码是:ligerComboBox的 selectValue(XXX)方法或者setValue(XXX)方法,显示情况如下;

image

跟了跟源码发现是tree的js写的有问题跟了跟源码发现是tree的js写的有问题

tree的js里有个selectNode方法

里面没有做多选的判断,每次调用都会清空其他的已选项

解决方法一:

将selectNode方法的最后一个each方法改为以下内容即可解决问题将selectNode方法的最后一个each方法改为以下内容即可解决问题

$("li", g.tree).each(function ()
            {
                var treeitem = $(this);
                var treedataindex = parseInt(treeitem.attr("treedataindex"));
                var treenodedata = g._getDataNodeByTreeDataIndex(g.data, treedataindex);
                if (clause(treenodedata, treedataindex))
                {
                    g.selectNode(this);
                }
                else
                {
                    //修复多选框状态下全部取消选中问题
                    if (!g.options.checkbox) {
                        g.cancelSelect(this, isTriggerEvent);
                    }
                    //g.cancelSelect(this);
                }
            });

解决方法二:

更新LigerUI的版本

此问题在新版本中已经被修复

人已赞赏
Net瞎捯饬

无法打开登录所请求的数据库 “xxxx”。登录失败。 用户 ‘NT AUTHORITY\SYSTEM’ 登录失败。

2018-12-10 11:59:39

瞎捯饬随笔

安卓浏览安装油猴插件详解

2018-12-10 12:18:16

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索