我正在尝试禁用dijit / Form / FilteringSelect中的选项。这是代码
<select id="filtSelect" dojoType="dijit.form.FilteringSelect">
<option disabled="disabled">Select</option>
<option value="1">One</option>
<option value="2">Two</option>
<option value="3">Three</option>
</select>
请帮帮我。
答案 0 :(得分:0)
你可以这样做:( Vers.1.9)
<select data-dojo-type="dijit/form/" id="count" name="count">
<option disabled="disabled">Select</option>
<option value="1">One</option>
<option value="2">Two</option>
<option value="3">Three</option>
</select>
以上是我上面例子的完整小提琴(Thomas Upton编辑):http://jsfiddle.net/tupton/266C4/
这里是dojo的引用:http://dojotoolkit.org/reference-guide/1.9/dijit/form/FilteringSelect.html?highlight=filteringselect
在1.6 Vers中它必须看起来像:
<script>
dojo.require("dijit.form.FilteringSelect");
</script>
<body class="claro">
<select dojoType="dijit.form.FilteringSelect" id="fruit" name="fruit">
<option value="AP" disabled>
Apples
</option>
<option value="OR" selected>
Oranges
</option>
<option value="PE">
Pears
</option>
</select>
</body>
此版本的小提琴:http://jsfiddle.net/Q4zw6/
加载dijit.form.filteringSelect实例以使用它非常重要。
此致,Miriam
答案 1 :(得分:0)
我不相信您可以禁用dijit/form/FilteringSelect
的选项,因为它是基于商店的,并且应该让用户输入任何文本。
有一个名为displayedValue
的属性,您可以使用它来设置您想要的任何内容。但是,对于FilteringSelect
,任何不是选项的文本都会被标记为错误输入,如以下代码和this jsfiddle所示。
<select data-dojo-type="dijit/form/FilteringSelect" data-dojo-props="displayedValue: 'Select'" id="count" name="count">
<option value="1">One</option>
<option value="2">Two</option>
<option value="3">Three</option>
</select>
您可以以完全相同的方式使用dijit/form/ComboBox
; FilteringSelect
和ComboBox
之间的区别在于后者允许任何输入。 See the documentation for more information
答案 2 :(得分:0)
问题在于FilteringSelect依赖于dojo数据存储,正如其他人所指出的那样。因此,如果您不手动创建它,它将在幕后发生,您只是不知道如何引用它。但是第二个想法,看看API,我注意到FilteringSelect有一个名为store的属性。
因此,您需要自己创建数据存储&amp;用它初始化FilteringSelect(http://dojotoolkit.org/reference-guide/1.9/dijit/form/FilteringSelect.html)或使用dijit的byId检索它,然后访问“store”属性。
然后,操纵该数据存储。如果要在之后恢复该选项,可能会在删除该选项之前存储临时副本。如果你查找数据存储我肯定删除一个选项是微不足道的。有时使用小部件时,您需要触发重新渲染方法以使其更新后(您通常可以在小部件的API中找到一些方法,有时“重置”),尽管我相信它可能会在商店中看到它们更聪明。