我正在尝试从输入类型的无线电获取值,但我将未定义为输出。
这是我的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 :(得分:1)
最好使用ng-change并获取值,在提交时使用相同的
<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 强>
答案 1 :(得分: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);
}
}
答案 2 :(得分:0)
使用选项输入标签需要一些配置才能使其正常工作。
您可以使用相同的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/以获取示例。