Knockout.js 具有选定对象的父对象的单选按钮集属性

Knockout.js 具有选定对象的父对象的单选按钮集属性,knockout.js,Knockout.js,Javascript: functional OrderViewModel() { this.selectedVehicle = ko.observable(); this.vehicles = ko.observableArray([ new VehicleViewModel('Toyota'), new VehicleViewModel('Ford'), new VehicleViewModel('Chevy') ]); } function

Javascript:

functional OrderViewModel() {
   this.selectedVehicle = ko.observable();

   this.vehicles = ko.observableArray([
    new VehicleViewModel('Toyota'),
    new VehicleViewModel('Ford'),
    new VehicleViewModel('Chevy')
   ]);
}


function VehicleViewModel(name) {
   this.name = name;
}


ko.applyBindings(new OrderViewModel());
<div>
    <!--ko foreach: $data.vehicles -->
        <label>
            <input type="radio" data-bind="value: $data.name, checked: $parent.selectedVehicle" />
            <span data-bind="text: $data.name"></span>
        </label>
    <!-- /ko -->
</div>
Html:

functional OrderViewModel() {
   this.selectedVehicle = ko.observable();

   this.vehicles = ko.observableArray([
    new VehicleViewModel('Toyota'),
    new VehicleViewModel('Ford'),
    new VehicleViewModel('Chevy')
   ]);
}


function VehicleViewModel(name) {
   this.name = name;
}


ko.applyBindings(new OrderViewModel());
<div>
    <!--ko foreach: $data.vehicles -->
        <label>
            <input type="radio" data-bind="value: $data.name, checked: $parent.selectedVehicle" />
            <span data-bind="text: $data.name"></span>
        </label>
    <!-- /ko -->
</div>


如何使用选定的VehicleViewModel(而不仅仅是名称)更新OrderViewModel的“selectedVehicle”属性。看看这个



只需从值绑定中删除.name,它将绑定整个对象

您基本上拥有它。看看这个



只需从值绑定中删除.name,它将绑定整个对象

问题是将HTML值属性设置为“[对象对象]”…这是有效的HTML(或508兼容)?不知道,但这是您正在寻找的解决方案问题是将HTML值属性设置为“[对象对象]”…这是有效的HTML吗(或508兼容)?不知道,但这是您正在寻找的解决方案