2012-06-06 1 views
0

Это JSON из моего REST сервера:Dojo: Использование декларативного выпадающий список с программным jsonreststore

[{ "Имя": "REL"}, { "имя": "RBOW"}, {» имя ":" EMLAWEB "}]

Это программное создание хранилища данных JSON:

dojo.addOnLoad(function(){ 
    var appPrefixStore = new dojox.data.JsonRestStore({target:"http://localhost:9080/AtRest/AtRest/tag/prefix"});` 

Это декларативно использовать хранилище данных в comboxbox:

<input id="selectPrefixCombo" 
    name="appPrefix" 
    data-dojo-type="dijit.form.ComboxBox" 
    data-dojo-props="autocomplete:'false', trim:'true', maxHeight:'200', store:'appPrefixStore'"> 
</input> 

Однако в выпадающем списке ничего не отображается. Что дает?

Я даже пытался использовать декларативно хранилища данных:

<div data-dojo-type="dojo.data.JsonRestStore" ... 
+0

Проверили ли вы, что ваш магазин загружается с данными остальных или нет? – BOSS

+0

Как я могу проверить? Я использую Firebug. – user187325

ответ

0

Спасибо, Видимо, я, возможно, были введены в заблуждение все учебники и примеры, которые я видел. Построить JsonRestStore недостаточно, чтобы вызвать запрос на сервер. Я должен добавить appPrefixStore.fetch(), чтобы он работал.

+0

На самом деле я исправляю себя. Кто-то еще в другом форуме указывает, что я использовал переменную в неправильной области действия и как строку. – user187325

0

... Во всяком случае, вот рабочий код с помощью глобальной переменной

<script type="text/javascript"> 
    //global variable container 
    var widgets = {}; 

    require(
     // Set of module identifiers 
     [ "dojo", 
      "dojo/parser", 
      "dojo/_base/xhr", 
      "dijit/form/ComboBox", 
      "dojo/store/JsonRest", 
     ], 
     // Callback function, invoked on dependencies evaluation results   
     function(JsonRestStore) { 
      widgets.appPrefixStore = new dojo.store.JsonRest({target:"http://localhost:9080/AtRest/AtRest/tag/prefix"}); 
     }); 
</script> 

<select id="selectPrefixCombo" name="appPrefix" data-dojo-type="dijit.form.ComboBox" 
    data-dojo-props="autocomplete:'false', trim:'true', maxHeight:'200', store:widgets.appPrefixStore"> 
</select> 
Смежные вопросы