LigerUI下拉選擇列表LigerComboBox中tree的節點初始化默認選中的問題

問題描述

用後臺的Json傳送tree的數據前端

前端用js方法來控制選中節點node

此方法存在bugthis

實例:code

bug問題:不管設置的默認選中值是多少個,前臺checkbox最多隻顯示選中一個,可是內容框中顯示正常get

默認選中的控制代碼是:ligerComboBox的 selectValue(XXX)方法或者setValue(XXX)方法,顯示狀況以下;源碼

image

跟了跟源碼發現是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的版本

此問題在新版本中已經被修復

相關文章
相關標籤/搜索