在今天的開發中遇到一個奇怪的問題。雖然已經被我解決但還是百思不得其解,決定記錄一下,看看有沒有大神能給我答案。
問題重現:
由於我有4個combotree需要加載數據,但是我又不想每次初始化一個combotree就去訪問服務器加載一下數據,於是我將加載數據過程寫成這樣
$.post('xxxurl',function(data){
$('#inputTree0').combotree('loadData',data);
$('#inputTree1').combotree('loadData',data);
$('#inputTree2').combotree('loadData',data);
$('#ttree').combotree('loadData',data);
});
看起來沒什麼毛病,刷新界面點開那個combotree樹也能顯示出來,但是,問題來了,當我點擊樹的節點的時候,節點是選上了,但combo上面並沒有顯示我所選擇的節點的名稱,這使我很納悶。應該已經那個初始化過這個控件了吧(前臺代碼已經聲明過了class="easyui-combotree" id="inputTree0")然後我換成普通的初始化加載數據的方式對比一下
$('#inputTree0').combotree({
url: "xxxurl"
});
這樣初始化卻又可以選上並顯示。。。
最後我決定換種加載方式:
將$('#inputTree0').combotree('loadData',data);改成$('#inputTree0').combotree({data:data});
這樣就解決了之前出現的那個選上但不顯示你選了什麼的問題了。