繁体   English   中英

Dojo:如何禁用dijit.form.FilteringSelect选项

[英]Dojo: How to disable a dijit.form.FilteringSelect option

我试图禁用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>

请帮我。

您可以这样操作:(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版中,它必须看起来像:

<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

我不相信您可以使用dijit/form/FilteringSelect禁用选项,因为它是基于商店的,应该允许用户输入任何文本。

有一个名为displayedValue的属性,您可以使用它来设置所需的任何内容。 但是,使用FilteringSelect不是选项的任何文本被标记为错误输入,如以下代码和此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 FilteringSelectComboBox之间的区别在于后者允许任何输入。 有关更多信息,请参见文档

问题是,正如其他人指出的那样,FilteringSelect依赖于dojo数据存储。 因此,如果您不手动创建它,它将在后台发生,并且您将不知道如何引用它。 但是再三考虑,看一下API我发现FilteringSelect有一个名为store的属性。

因此,您需要自己创建数据存储并用它初始化FilteringSelect( http://dojotoolkit.org/reference-guide/1.9/dijit/form/FilteringSelect.html ),或者使用dijit的byId检索它,然后访问“商店”属性。

然后,操纵该数据存储。 如果要在以后删除它,则可以在删除该选项之前存储一个临时副本。 如果您查找数据存储,我敢肯定删除一个选项很简单。 有时,使用窗口小部件时,您需要触发一个重新渲染方法以使其更新(通常可以在窗口小部件的API中为此找到某些方法,有时称为“重置”),尽管我相信在商店中它可能会监视它们更聪明。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM