用后台的Json传送tree的数据前端
前端用js方法来控制选中节点node
此方法存在bugthis
实例:code
bug问题:不管设置的默认选中值是多少个,前台checkbox最多只显示选中一个,可是内容框中显示正常get
默认选中的控制代码是:ligerComboBox的 selectValue(XXX)方法或者setValue(XXX)方法,显示状况以下;源码
跟了跟源码发现是tree的js写的有问题跟了跟源码发现是tree的js写的有问题it
tree的js里有个selectNode方法io
里面没有作多选的判断,每次调用都会清空其余的已选项function
将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的版本
此问题在新版本中已经被修复