Knockout checkbox click 冲突

来源:互联网 发布:重庆大数据有限公司 编辑:程序博客网 时间:2024/05/16 02:58

中文地址:http://javaarm.com/file/www/javascript/fwk/knockoutjs/site-back/documentation_cn/checked-binding.html

英文地址:http://knockoutjs.com/

测试地址:http://jsfiddle.net/rniemeyer/3Lqsx/


使用knockout同时绑定checked和click时,checkbox点击不勾选。

解决方案:在绑定的click事件中一定要返回true;

<head>   <script src="../lib/require/require.js" data-main="ko1_radio3_main"></script></head><body  >  <input id="Radio3" name="rdoCunKuanType" data-bind="checked:CunKuanType,click:RadioClick" value="H" checked type="radio" />活期存款   <input id="Radio4" name="rdoCunKuanType" data-bind="checked:CunKuanType,click:RadioClick" value="D" type="radio">定期存款  <br />定期几年:<input type="text" />年 <font data-bind="visible:ShowStar" color="red">*</font></body></html>

require.config({    paths: {        "knockout": "../lib/knockout/knockout-2.3.0",        "jquery": "../lib/jquery/jquery-1.9.1.min"    } }); require(['jquery', 'knockout'], function ($, ko) {     //数据绑定    $(document).ready(function () {         var viewModel = {            CunKuanType: ko.observable("H"),            ShowStar: ko.observable(false), //汇往国家及地区星号显示标示符            RadioClick: function () {                if (viewModel.CunKuanType() == "D") {                    viewModel.ShowStar(true);                }                else {                    viewModel.ShowStar(false);                }                return true;            }        };               ko.applyBindings(viewModel);     });});

需要注意的是,RadioClick最后一定要返回一个true,否则click事件无效。

原创粉丝点击