KnockoutJS选项绑定

时间:2012-04-30 15:04:48

标签: knockout.js

所以我在一个页面上说了5个选择列表。我有选项绑定到它们中的每一个,它们都绑定到相同的数据集,例如状态模型。

一旦某人改变其中一个选项的状态,我想对其采取行动。

有什么想法吗?

谢谢!

2 个答案:

答案 0 :(得分:1)

通常,当值更改时,您使用ko.computed来处理事情: http://knockoutjs.com/documentation/computedObservables.html

但是如果您想要观察特定观察值何时发生变化,请使用subscribehttp://knockoutjs.com/documentation/observables.html

如果遇到问题,您可以分叉并更新此jsfiddle以向我发送代码示例: http://jsfiddle.net/JasonMore/p6Vcc/

答案 1 :(得分:0)

如果我正确地理解了你的问题,我想你每个选择列表都有一个ko.observable变量来跟踪当前选择的值。 如果您希望每次更改其中一个索引时执行操作,则可以使用subscribe函数:

var viewModel = {
   firstSelectListIndex : ko.observable(), // bound to the first select list value
   secondSelectListIndex : ko.observable(),
   ...   
};

然后,如果您有兴趣在用户更改第一个选择列表的状态时采取措施,您可以执行以下操作:

viewModel.firstSelectListIndex.subscribe(function(newValue) { 
    // your code
});

并且您拥有与列表中新选定项目相关联的新值,作为参数传递。