2015-05-04 34 views
1

工作我有我的店裏定義如下:dijit.form.ComboBox不dojox.data.JsonRestStore

my_store = new dojox.data.JsonRestStore({ 
    target: '/my/rest/url/to/get/data' 
}); 

我定義組合框與該門店的工作:

myComboBox = new dijit.form.ComboBox({ 
    store: my_store, 
    searchAttr: "name", 
    pageSize: 20, 
    autoComplete: true, 
    hasDownArrow: false, 
    highlightMatch: "all", 
    style: "width: 80%; height: 17px; float: left", 
    onChange: function() { 
     // Do something with my tree 
    }, 
    labelFunc: function (item, store) { 
     var splits = item.path[0].split("/"); 
     var label = item.name[0] + " (" 
      + splits.slice(0, splits.length - 1).join("/") + ")"; 
     return label; 
    } 
}, "searchBox"); 

但我不能使其工作。 ComboBox不顯示任何內容。 但是,當我使用dojo.data.ItemFileReadStore它工作正常。

您能否提出任何解決方案? 順便說一句,我需要使用JsonRestStore,因爲我用它做了懶加載樹。

回答

0

請檢查瀏覽器控制檯中的網絡選項卡,以驗證其他通話是否正在進行。可能是完全合格的網址是必需的。例如:'http://localhost//my/rest/url/to/get/data'

或者,您可以使用dojo.xhrGet返回Json結果並創建dojo.data.ItemFileReadStore。當您實際執行ajax調用時,這也會加載組合框。

感謝

+0

感謝您的答覆,是的,URL被加載並返回數據,但沒有什麼是沒有額外的步驟發生。我創建了內存存儲以與ComboBox一起使用,並使用JsonRestStore檢索到的數據填充它。它有幫助。 – androberz

相關問題