我在 Zend 表单上一起使用了 dojo FilteringSelect 元素,但我无法让它按我的意愿工作。我有一个包含三个字段的商店id
, label
, name
。标签将用于下拉菜单,也应用于搜索,同时name
应用于框内的显示。问题是我找不到使这种行为起作用的方法。
将labelAttr
值设置为label
在下拉列表中显示它,但是searchAttr
一旦选择了值,该属性将控制搜索和输入框上的显示。我需要搜索该label
字段,因为它是许多字段的集合,但是在 上显示值name
,这可能吗?
编辑:@RichardAyotte Dijit FilteringSelect 小部件使用 dojo.data.store,它基本上是一个 javascript 对象,其中每个项目也是一个具有许多参数的对象。您可以在商店中设置两个特殊参数:labelAttr和searchAttr,它们将定义几个行为。FilteringSelect 绑定到一个输入框,您可以在其中进行搜索。如果单击该框,它将打开选项列表,例如将。在这里,它显示了您定义为 labelAttr 的任何内容。现在,如果您在框中键入,它将使用searchAttr字段中定义的内容在商店中搜索。一旦您从列表中选择某些内容,它还使用标签的值显示在输入中(您可以在此处查看它http://dojotoolkit.org/reference-guide/1.9/dijit/form/FilteringSelect.html#displaying-带有标签属性和标签类型的富文本菜单标签)
我想要做的是将searchAttr字段“解耦”为 2 个不同的字段,一个用于搜索,另一个用于在输入中显示。AFAICT 虽然这是不可能的,我将不得不扩展 FilteringSelect 对象