2016-03-08 65 views
0

的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()); 

HTML:

<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> 

如何使它更新OrderViewModel與 「selectedVehicle」 屬性選擇的VehicleViewModel(而不是名稱)?

回答

2

你基本上有它。看看這個 https://jsfiddle.net/16hozLzL/

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

只是刪除從值綁定。名稱,它將整個對象

+0

的事情是,設置HTML值屬性爲「[Object對象]」綁定... ..是有效的HTML(或508兼容)? – montisqu

+0

不知道,但它是你正在尋找的解決方案 – QBM5