Knockout observable可以是绑定到单选按钮值的数据吗
Can a Knockout observable be data bound to the value of a radio button?
是否可以使用值绑定将Knockout可观察属性绑定到单选按钮?
这是我试图做的,但值最终是字符串"[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" />
以下是我使用的视图模型:
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中。
如本文所述只有Select节点能够将任意JavaScript对象绑定到值。其他输入需要一个字符串值,这就是您的值返回"[Object-Object]"的原因。
你仍然可以做你想做的事,但你必须手动映射一个键并自己找到合适的对象。这是一把小提琴,展示:
http://jsfiddle.net/jearles/JcPXy/
仅供其他读者参考,KO v3添加了checkedValue绑定,这使得这成为可能。
我也需要这个。我的解决方案与John Earles类似,只是我使用了computed
而不是subscribe
:
self.selectedVehicleGroup = ko.computed(function(){
return ko.utils.arrayFirst(self.availableGroups(), function (group) { return group.name() == self.selectedGroupOption(); });
});
http://jsfiddle.net/JcPXy/91/
相关文章:
- 数据切换=“;按钮”;在JavaScript中无法识别引导程序单选按钮
- 基于单选按钮和复选框的数据表排序
- 当我单击它时,没有检查带有数据切换=选项卡的单选按钮
- JavaScript / jquery:如果选择了单选按钮并且数据属性符合条件,则添加类
- 如何强制更新Webix数据表中的单选按钮
- 如果选择了..单选按钮,则如何从多行中发送特定行的多个单元格数据
- 未提交单选按钮数据
- 从数据表中选择一行以显示单选按钮值
- 如何在AngularJS(ng-repeat)中获取选定的单选按钮数据
- 从 asp.net 中的数据列表客户端查找单选按钮
- 使用单击单选按钮时的数据自动填充输入字段
- 引导数据切换单选按钮/复选框选中属性
- 使用单选按钮更改数据提供程序
- 如何一次只选择一个单选按钮,并在数据来自数据库时在javascript中取消选择其他单选按钮
- 如何在数据列表中获取选定的单选按钮文本
- Knockout observable可以是绑定到单选按钮值的数据吗
- 使用angular js和单选按钮更新html表中的数据
- 如何检查数据列表中选中了哪个单选按钮
- 在会话中存储单选按钮数据
- 通过Ajax向PHP发送单选按钮数据(值)