启动选择投标时如何防止选择更改事件触发?页面上的添加按钮,它将动态添加选择到 DOM。当每个选择框都添加到 DOM 时,会触发更改事件而不是我从选择中选择项目?
问问题
267 次
1 回答
1
问题是 KnockoutJS 试图找到列表框中的哪个元素与requiredItem
observable 匹配。一开始没有,这就是为什么它会尝试将其设置为列表框的“标题”。您没有提供一个,因此它设置requiredItem
为列表框的第一个元素。
你可以做的是在你的数组中添加一个标题项:
self.requireditems = ko.observableArray([
{ desc: "Select an option from the list...", key: 0, editable: false } // ... and then all other items]);
如果你真的不想requiredItem
更新:
self.selectedItem = ko.observable(self.requiredItems()[0]);
然后,如果您想知道是否从列表中选择了有效元素,您可以添加以下属性:
self.isValidSelectedItem = ko.computed(function() {
return self.selectedItem().id;
});
于 2013-05-10T13:22:18.253 回答