7

我需要做以下事情:当用户选中复选框时,会调用一些函数。

<input type="checkbox" data-bind="what to write here?" />

在模型中:

var viewModel = {
    this.someFunction = function() {
       console.log("1");
    }
};

我还没有找到任何关于此的文档here

4

1 回答 1

19

您需要的是click绑定:

<input type="checkbox" data-bind="click: someFunction" />

在您的视图模型中:

var ViewModel = function(data, event) {
    this.someFunction = function() {
       console.log(event.target.checked); // log out the current state
       console.log("1");
       return true; // to trigger the browser default behavior  
    }
};

演示JSFiddle。

或者,如果您想使用checked绑定,您可以订阅您的属性的更改事件:

<input type="checkbox" data-bind="checked: isChecked" />

在您的视图模型中:

var ViewModel = function() {

    this.isChecked = ko.observable();

    this.isChecked.subscribe(function(newValue){
        this.someFunction(newValue);
    }, this);

    this.someFunction = function(value) {
        console.log(value); // log out the current state
        console.log("1");
    }
};

演示JSFiddle。

于 2013-06-26T08:04:14.330 回答