knockout js单选按钮单击事件重置选择 [英] knockout js radio button click event reset selection

查看:126
本文介绍了knockout js单选按钮单击事件重置选择的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在单选按钮列表上绑定了已检查和单击事件。但是,只要单击单选按钮,选择就不会停留。我一定是做错了。如果你们能指出我正确的方向,真的很感激。

I have bind "checked" and "click" event on a radio button list. But whenever a radio button is clicked, the selection does not stay. I must be doing something really wrong. Really appreciate if you guys can point me to the right direction.

请参阅小提琴

查看型号:

var viewModel = {
    wantsSpam: ko.observable(true),
    spamFlavor: ko.observable('cherry'),

    click: function(model){
        console.log(model);
    }
};

查看:

<input type="radio" name="flavorGroup" value="cherry" 
       data-bind="checked: spamFlavor, click:click" />


推荐答案

来自 点击事件文档:

From the click event documentation:


默认情况下,Knockout会阻止点击事件采取任何默认操作。

...

但是,如果你想让默认的点击操作继续,只需从你的点击处理程序返回true 函数。

By default, Knockout will prevent the click event from taking any default action.
...
However, if you do want to let the default click action proceed, just return truefrom your click handler function.

因为你的点击处理程序而你的单选按钮被重置了修复它你只需最后返回true

So your radio button is reset because of your click handler and to fix it you just need to return true at the end:

click: function(){
   alert('Hi');
   return true;
}

演示 JSFiddle

这篇关于knockout js单选按钮单击事件重置选择的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆