easyui combotree 非同步資料來源 設定預設值
阿新 • • 發佈:2019-02-08
//設定共享表下拉樹的預設值
function setDefaultDbSet(dbSetId, setName) {
//設定預設值
if (setDefaultDbSet) {
showDbSetAlert = false;
var t = cmb_relation_dbset.combotree('tree');
var defNode = t.tree("find", dbSetId);
if (!defNode) {
t.tree('append', {
data: [{
id: dbSetId,
text: setName
}]
});
defNode = t.tree("find" , dbSetId);
t.tree('select', defNode.target);
defNode.target.style.display = 'none';
}
cmb_relation_dbset.combotree('setValue', dbSetId);
}
}
一定要取出tree再進行設定操作,否則會引起 $.fn.validatebox.methods 的錯誤。
這個方法是給combotree加入一個節點,並將這個節點設定為預設值,但是在下拉的樹中又隱藏了,並不讓看到,從而看上去是設定了值得,並且在取值時也可正確取到。
因資料來源時非同步獲取,所以只有點選展開後才會獲取,導致為下拉樹設定值得時候顯示的只是ID,所以用這個方法來做一下折中處理。