javascript - 无法使 'checked' 工作

标签 javascript html knockout.js radio-button

我知道已经有人询问了数百次,但我找不到适合我的情况的解决方案。

我有这些单选按钮:

<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>

参见http://jsfiddle.net/sjroesink/bt3mU/演示

关于javascript - 无法使 'checked' 工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23335269/

相关文章:

javascript - 如何在 React Native 中检测段落中特定单词的样式、超链接

javascript - 如何使用 ajax 从 IMAP 服务器获取电子邮件

php - php和mysql中的多次插入(插入)

knockout.js - 选择选项更改时 Knockoutjs 不会更新值

asp.net-mvc - 使用 asp.net mvc 3 和 knockoutjs 发布 viewModel 并上传文件

javascript - 背景图像 div 周围不需要的边框

javascript - 处理 javascript 变量中的句点

regex - 使用 ko.observable 进行多电子邮件验证

javascript - 使用 $addToSet 添加到 MongoDB 中的数组

ruby - 视频流 html5 播放器。如何自动滑动搜索和音量控制