2014-10-14 6 views
2

У меня есть поле выбора в моей форме, которое отображается с помощью addOption. Ниже кода для того жеDojo Select - выбор первой опции по умолчанию

storeData = response.myData; 
var select = dijit.byId('mySelect'); 
select.addOption(storeData.items); 

HTML декларация поле Выбрать

<select id="mySelect" data-dojo-type="dijit/form/Select" data-dojo-attach-point="mySelect" data-dojo-props="name:'mySelect', placeHolder: 'Select a value', value:''"></select> 

В StoreData, я список объектов JSON, включая пустой вариант возвращения. (label = "" и value = "");

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

Есть ли способ, когда я могу установить выделение на none. Любой указатель на эту проблему?

ответ

4

dijit/form/Select действует как обычный элемент блока выбора (просто сказано, что это расширенная форма <select>). По умолчанию такое поле выбора выбирается по умолчанию по умолчанию.

В любом случае, виджет dijit/form/Select не поддерживает заполнители. Думаю, ни то, ни другое не задокументировано в API docs.

В качестве альтернативы вы можете использовать виджет dijit/form/ComboBox или dijit/form/FilteringSelect, которые поддерживают свойство placeHolder.

Еще одна распространенная практика (по крайней мере, с <select>) является то, что вы добавляете по умолчанию, выбранный и нетрудоспособных элемент, который действует в качестве заполнителя, например:

<select name="select1" data-dojo-type="dijit/form/Select"> 
    <option disabled="disabled" selected="selected" value="">- Select a state -</option> 
    <option value="TN">Tennessee</option> 
    <option value="VA">Virginia</option> 
    <option value="WA">Washington</option> 
    <option value="FL">Florida</option> 
    <option value="CA">California</option> 
</select> 

Демо: JSFiddle

+0

спасибо за быстрый ответ , Я рассмотрел эти варианты, но я хочу, чтобы выпадающий список был доступен только по выбору (фильтрация или манипуляция должна быть отключена), поэтому мне пришлось выбирать поле «Выбор». Можем ли мы запретить значения клавиш в Combobox или FilteringSelect? –

+0

Хм, я не думаю, что это возможно. Альтернативой является то, что вы можете сделать первый вариант «dijit/form/Select» отключенным. – g00glen00b