Knockoutjs - 已检查的电台没有呼叫功能

时间:2015-01-06 09:24:09

标签: function knockout.js radio

有没有办法将已检查的radio与函数绑定到我的数组?

JS

ViewModel = function(path) {
    var self = this;

    self.regions = ko.observableArray();

    self.addRegion = function() {
        self.regions.push(new Ticketon.Performance.Region());
    };
}

Region = function() {
    var self = this;

    self.name = ko.observable();
    self.description = ko.observable();
};

HTML

<label><input type="radio"  name="regionCount" checked="checked"> One region</label>
<label><input type="radio" name="regionCount" data-bind="checked: addRegion"> Two regions</label>

这无效......当我在点击上更改已检查时,它可以正常工作,但是当我在广播中点击更多次时,阵列中会有更多区域。

1 个答案:

答案 0 :(得分:0)

checked绑定将值(您将使用value属性指定的值)存储到observable。它不期待一个功能。

要执行您的意图,您需要使用click绑定。如果要限制或切换区域数,则该函数需要执行此逻辑。