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

Javascript Dojo FilteringSelect-更新下拉列表或手动过滤器,javascript,dojo,Javascript,Dojo,我想在设置displayValue后更新FilteringSelect中的下拉列表。 我知道FilteringSelect在设置displayValue之后从结果中选择了第一个元素,但当我打开下拉列表(openDropDown()函数)时,它有旧的筛选结果。这是因为显示的值和下拉列表之间存在差异。FilteringSelect小部件使用存储来填充下拉列表。如果要更改下拉列表,也必须更改存储中的对象 根据您的Dojo版本,您必须使用Dojo/store或Dojo/dataAPI。对于dojo/st

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

这是因为显示的值和下拉列表之间存在差异。
FilteringSelect
小部件使用存储来填充下拉列表。如果要更改下拉列表,也必须更改存储中的对象

根据您的Dojo版本,您必须使用Dojo/storeDojo/dataAPI。对于dojo/storAPI(dojo的新版本),您必须执行以下操作:

var myItem = filteringSelect.item;
myItem.name = "Testing 1 2 3";
myStore.put(filteringSelect.item);
它将根据ID更新该对象

可以找到一个示例JSFIDLE。当您单击“测试”按钮时,它将替换显示的值和存储本身


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

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

filteringSelect._startSearch("C");

这是
AutoCompleterMixin
提供的一个函数。您可以在“我的更新”中看到结果。

我不想更改下拉列表中的值,我想刷新并打开它(以编程方式,就像用户通过键盘在filteringSelect中输入值一样)-但我想分两步执行:-filteringSelect中的fileter(类似于用户键入文本)-显示筛选下拉列表