用後臺的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的版本
此問題在新版本中已經被修復