我的情况是,我的页面上有多个下拉列表,共享相同的可观察数组。让我们说5 dropdowns lists
,绑定到observable array
[1,2,3,4,5]
optionsCaption
- Game -
。在他们选择一个值后,我希望其他下拉列表从列表中删除该项。因此,如果选择dropdown 1
2
,则所有其他下拉列表都会显示1,3,4,5
,如果他们再次选择- Game -
,则所有dropdwons都将返回其原始状态。
答案 0 :(得分:0)
他们必须拥有单独的数据源,因为他们有不同的数据。我可以想到两种方法来做到这一点:
拥有一个所有选择的数组,并为每个选择计算数组 - 每个数组包含选项数组的内容减去其他选项中的选定选项。
您也可以让每个选项的选项都是一个可观察的数组,然后在选择时,使用所选项目调用每个其他选项上的删除,并将旧值推送到每个其他选择框。你可以通过订阅来实现这一点。