javascript - Knockout observable 是否可以将数据绑定(bind)到单选按钮的值?

标签 javascript data-binding radio-button knockout.js

是否可以使用值绑定(bind)将 Knockout 可观察属性绑定(bind)到单选按钮?

这是我正在尝试做的,但值最终是字符串“[Object object]”,而不是我的可观察属性的实际实例:

<input type="radio" name="vehicleGroup" data-bind="checked: vehicleGroupViewModel().selectedGroupOption , value:vehicleGroupViewModel().car" />

<input type="radio" name="vehicleGroup" data-bind="checked: vehicleGroupViewModel().selectedGroupOption , value:vehicleGroupViewModel().truck" />

这是我正在使用的 View 模型:

var VehicleGroupViewModel = function(){
    var self = this;
    this.selectedVehicleGroup = ko.observable();
    this.selectedGroupOption = ko.observable();
    this.selectedGroupOption.subscribe(function (newVal) {
        self.selectedVehicleGroup(newVal);
    }
    this.selectedGroup = ko.observable();
    this.car = ko.observable(new VehicleViewModel());
    this.truck = ko.observable(new VehicleViewModel());
}

var VehicleViewModel = function(){
    this.name = ko.observable();
}

所以最后我希望 Car 或 Truck VehicleViewModel 位于 selectedVehicleGroup observable 中。

最佳答案

记录在案here 只有 Select 节点能够将任意 JavaScript 对象绑定(bind)到一个值。其他输入需要字符串值,这就是您的值返回“[Object object]”的原因。

你仍然可以做你想做的事,但你必须手动映射一个键并自己找到合适的对象。这是一个演示的 fiddle :

http://jsfiddle.net/jearles/JcPXy/

关于javascript - Knockout observable 是否可以将数据绑定(bind)到单选按钮的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10044189/

相关文章:

javascript - 正则表达式匹配单个特殊字符或特定序列

javascript - Jquery/Javascript 删除 url 字符串中的重复参数

WPF 数据绑定(bind)和 SQL DataTable 中的数据 - 需要一些想法

post - chalice 3 : Binding multiple command objects via POST

c# - 绑定(bind)到静态属性的一种方法失败

php - 单选按钮数据不显示在第二个字段集中

javascript - 如何使用链接提交表单字段值?

javascript - 如何使用 CSS 在新选项卡/窗口中打开链接?

javascript - 在javascript中使复选框可点击一次?

java - 在 Java 上从 Rhino 启动 jsdom