我知道已经有人询问了数百次,但我找不到适合我的情况的解决方案。
我有这些单选按钮:
<div class="left-floated-box" >
<input type="radio" name="options" value="1" data-bind="checked:loadFilteredHistory">1
</div>
<div class="left-floated-box" >
<input type="radio" name="options" value="2" data-bind="checked:loadFilteredHistory">2
</div>
如您所见,我正在尝试调用名为 loadFilteredHistory
很简单:
loadFilteredHistory = function(){
console.log("I'm inside of teh function");
};
但是当我单击单选按钮时什么也没有发生。我在这里缺少什么?为什么我无法调用该函数?我知道它非常小,但我现在无法发现它。
最佳答案
我将创建一个可观察对象来绑定(bind)到复选框:
self.selectedOption = ko.observable();
然后订阅该可观察对象,以便在所选选项更改时执行您的操作:
self.selectedOption.subscribe(function(newValue) {
console.log('selectedOption change', newValue);
});
您现在可以将 selectedOption
绑定(bind)到 checked
绑定(bind)处理程序:
<div class="left-floated-box" >
<input type="radio" name="options" value="1" data-bind="checked:selectedOption" />1
</div>
<div class="left-floated-box" >
<input type="radio" name="options" value="2" data-bind="checked:selectedOption" />2
</div>
关于javascript - 无法使 'checked' 工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23335269/