我的表单上有一个选择框,可以使用addOption显示。下面的代码是相同的
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 =&#34;&#34; and value =&#34;&#34;);
我希望在没有选择任何选项时显示占位符文本。但是默认情况下,第一个选项(即空白值选项)被选中,因此不会显示占位符文本。如果我从选项列表中删除空白值选项,则默认情况下会选择此后的选项。
有什么方法可以将选择设置为无。这个问题的任何指针?
答案 0 :(得分:5)
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