在我的表单中,我使用了两个单选按钮,并希望检查所选值。但这并不像预期的那样有效。我想确定单个无线电选择值并在结果列中显示大/小
<div ng-controller="CityCtrl">
<table>
<tr>
<th>Name</th>
<th>Big</th>
<th>Small</th>
<th>Result</th>
</tr>
<tr ng-repeat="city in cities">
<td>{{ city.name }}</td>
<td>
<input type="radio" name="{{city.name}}-{{$index}}" ng-model="big" value="big_value" ng-change="check(city.name, big)">
</td>
<td>
<input type="radio" name="{{city.name}}-{{$index}}" ng-model="small" value="small_value" ng-change="check(city.name, small)">
</td>
<td>***</td>
</tr>
</table>
</div>
控制器:
var myApp = angular.module('cityApp', []);
function CityCtrl($scope) {
$scope.big = '';
$scope.small = '';
$scope.cities = [{
id: 1,
name: 'Tokyo'
}, {
id: 2,
name: 'Guangzhou'
}, {
id: 3,
name: 'Seoul'
}];
$scope.check = function(city, value) {
console.log("City->" + city + " ::: Value->" + value);
};
}
从其他答案我推断了一些事情:
我确实玩过,但是无法做到这一点,我想我在这里犯了一些明显的错误。
这是小提琴: http://jsfiddle.net/mw2us37h/
注意: 我没有使用ng-value而是传递硬编码值。 更改为ng-click也不起作用
答案 0 :(得分:2)
将此标记为重复,但在使用angularjs中的单选按钮时,似乎解决方案是使用ng-click
而不是ng-change
。
以下是您的小提琴编辑:http://jsfiddle.net/mw2us37h/1/
答案 1 :(得分:0)
我不确定我理解你的尝试。我想你想在结果列中显示单选按钮值和/或在点击值的位置有一个函数。
显示结果列中的单选按钮值
我会更改ngModel值,以便它绑定到某个特定城市。所以改变:
<input type="radio" name="{{city.name}}-{{$index}}" ng-model="big" value="big_value">
为:
<input type="radio" name="{{city.name}}-{{$index}}" ng-model="city.size" value="big_value">
和
<input type="radio" name="{{city.name}}-{{$index}}" ng-model="small" value="small_value">
到
<input type="radio" name="{{city.name}}-{{$index}}" ng-model="city.size" value="small_value">
因此模型指向相同的变量city.size
,这是保存所选值的位置。然后将结果列中的***
更改为city.size
请参阅更改小提琴:http://jsfiddle.net/u2kxuyr7/
获取有关ngClick的价值
使用ngChange就像你已经做的那样,为了简单起见,我会做一些不同的事情。变化:
ng-change="check(city.name, whatEverValue)"
于: NG-变化=&#34;检查(地点)&#34;
,检查功能如下:
$scope.check = function(city) {
console.log("City->" + city.name + " ::: Value->" + city.size);
};
见小提琴:http://jsfiddle.net/Lmszxj8s/
然后在每次更改时触发ngChange。