2016-11-29 82 views
0

我想從輸入類型廣播獲得價值,但我得到未定義的輸出。無法從輸入類型無線電廣播獲得價值

這裏是我的HTML代碼:

<div ng-repeat="option in options" style="font-size : 20px;padding: 10px"> 
    <input type="radio" ng-model="inpt" value = "{{option.poll_option_id}}"> {{option.poll_option}}</input> 
</div> 

<br> 

<button ng-disabled="rd" ng-click="pollSubmit()">Submit </button> 

我的角碼是

$scope.pollSubmit = function(){ 
    console.log($scope.inpt); 
} 

回答

0

這是因爲ngRepeat創建自己的子範圍。範圍可以查詢,而不是查找。您應該使用屬性的對象上迭代,然後在控制器檢查這些屬性:

<input type="radio" ng-model="option.input" value = "{{option.poll_option_id}}"> {{option.poll_option}}</input> 

而且JS:

$scope.pollSubmit = function(){ 
    for (var i = 0; i < $scope.options.length; i++) { 
     console.log($scope.options[i].input); 
    } 
} 
1

這是更好地使用NG-變化和獲得的價值,使用相同的,同時提交

<div class="row"> 
     <div class="col-xs-9"> 
      <label class="radio-inline" ng-repeat="y in options"> 
      <input type="radio" ng-model="selected" ng-change="getselected(y)" ng-value="y.poll_option_id"> {{y.poll_option_id}} 
      </label> 
     </div> 
     </div> 

DEMO

0

使用選項輸入標籤需要一些配置才能使其工作。 YOu可能使用相同的name屬性來分組來自同一組的選項。在ng-model中使用一個變量,指向當前作用域中對象中的一個元素。 INPUT不是一個容器(沒有關閉標籤),所以任何額外的文本內容都在標籤元素之後。

<input name="opt1" type="radio" ng-model="sel.value" value = "{{option.poll_option_id}}"> {{option.poll_option}} 

看到這個小提琴:https://jsfiddle.net/aavsnc8n/爲例。

+0

,而不是 ;-) – Nico