2014-06-04 3 views
0

Я пытаюсь следовать примеру this о том, как настроить комбинированное поле с помощью dojo, но задается вопросом, как можно указать имя и значение программно. В представленном примере используются те же значения для метки и значения, которые, вероятно, в большинстве случаев не нужны.Dojo combo box указать метку и значение

{ 
    "identifier": "abbreviation", 
    "label": "name", 
    "items": [ 
     { "abbreviation": "AL", "name": "Alabama" }, 

     ... other 48 states here ... 

     { "abbreviation": "WY", "name": "Wyoming" } 
    ] 
} 
+0

Вы уверены, что это так. Глядя на http://dojotoolkit.org/documentation/tutorials/1.6/selects_using_stores/demo/ProgSelect.html (и даже ваш опубликованный код), отображаются разные значения для этикеток. – Shoe

+0

Вы взглянули на эту ссылку? http://dojotoolkit.org/documentation/tutorials/1.6/selects_using_stores/ – tawheed

+0

Да, мне кажется, что он позволяет то, что вы ищете ... – Shoe

ответ

0

Если вы спрашиваете, как заменить жесткий код в примере, то вот что вам нужно сделать. В приведенных выше сценариях элементы были использованы для указания данных, которые представляют собой массив (аббревиатуры и имена) значений.

В вашем случае вам нужно будет получить данные/объект из вашего источника данных. После того, как у вас есть данные/объект, вы увидите его. Как только это будет сделано, вы можете сделать следующую структуру.

Вы действительно храните свои предметы выше, но stateStore будет массивом скриптов java, который содержит данные из вашего источника данных.

stateStore = [{"abbreviation": "AL", "name": "Alabama"}, 
       ... other 48 states here ..., 
       { "abbreviation": "WY", "name": "Wyoming" }] 

// create FilteringSelect widget, populating its options from the store 
var select = new dijit.form.FilteringSelect({ 
       name: "stateSelect", 
       placeHolder: "Select a State", 
       store: stateStore 
       }, "stateSelect"); 

HTML

<div style="width:50%;float: left;"> 
<h1>dijit.form.Select</h1> 
<label for="stateSelect">State:</label> 
<div id="stateSelect"></div> 
</div> 
Смежные вопросы