2013-04-15 65 views
0

傳遞無線電值I有一個具有一組單選按鈕(3種選擇)的一種形式,並且我使用角度和NG-重複指令來填充HTML:與angularjs

<div ng-repeat="fruit in fruitbasket"> 
    <input type="radio" name="fruit" data-ng-model="fruit.isSelected">{{fruit.id}} 
</div> 

的內側對於水果籃控制器看起來是這樣的:

$scope.fruitbasket = [{isSelected: false, id: "Orange", value: "1"}, {isSelected: true, id: "Pear", value: "2"}, {isSelected: false, id: "Apple", value: "3"}] 

在視圖中選擇有橙,梨,蘋果,而是選擇了一個後,我要傳遞的數字「值」

不知道如何做t他在角度上,我嘗試了幾件事情,但沒有成功。每次傳遞的值顯示爲nil

對象的連接元素如何從Angularjs中的單選按鈕傳遞?

回答

2

這裏是你如何做到這一點:不需要

  1. isSelected。水果籃不是你的模型的一部分,只有選定的水果。

    $scope.fruitbasket = [ 
        {id: "Orange", value: "1"}, 
        {id: "Pear", value: "2"}, 
        {id: "Apple", value: "3"} 
    ]; 
    
    $scope.model={selectedFruit:2}; 
    
  2. 指定的值(fruit.value)每個選項並將其綁定到你的模型(model.selectedFruit

    <input value="{{fruit.value}}" data-ng-model="model.selectedFruit" type="radio" name="fruit" > {{fruit.id}} 
    

退房this working plnkr example

+0

@joakimbi在模型範圍內,爲什麼selectedFruit設置爲2? – FluxEngine

+0

我這樣做是因爲在你的問題中你在「梨」上有'isSelected:true'。如果你不想預先選擇一個項目,你可以設置'$ scope.model = {};' – joakimbl

+0

@joakimbi何時使用$ scope.model = {};獲得通過的對象是{「selectedFruit」=>「2」}但我真正需要傳遞的僅僅是「2」......任何想法? – FluxEngine