Dojo FilteringSelect - 更新下拉列表或手动过滤器

时间:2013-06-04 09:40:41

标签: javascript dojo

我想在设置displayValue后更新FilteringSelect中的下拉列表。 我知道FilteringSelect在设置displayValue之后从结果中选择了第一个元素,但是当我打开下拉列表(openDropDown()函数)时,它有旧的过滤结果。

1 个答案:

答案 0 :(得分:2)

那是因为显示值和下拉列表之间存在差异。 FilteringSelect小部件使用商店来填充下拉列表。如果您希望更改下拉列表,则还必须更改商店中的对象。

根据您的Dojo版本,您必须使用 dojo / store dojo / data API。对于 dojo / stor API(Dojo的新版本),您必须执行以下操作:

var myItem = filteringSelect.item;
myItem.name = "Testing 1 2 3";
myStore.put(filteringSelect.item);

根据ID,它将更新该对象。

可以找到一个示例JSFiddle here。当您单击“测试”按钮时,它将替换displayedValue和商店本身。


<强>更新: 我注意到了你的答案(你应该对我发表评论,因为现在我的收件箱里没有收到任何通知);

如果我理解正确,您希望以编程方式输入值并打开带有突出显示结果的下拉列表。嗯,这可以用:

filteringSelect._startSearch("C");

这是AutoCompleterMixin提供的功能。您可以在我更新的JSFiddle上看到结果。