gpt4 book ai didi

javascript - ng-change 事件在 ng-repeat 中仅触发一次

转载 作者:行者123 更新时间:2023-12-01 03:59:51 25 4
gpt4 key购买 nike

在我的表单中,我使用两个单选按钮并希望检查所选值。但这并没有按预期工作。我想确定单个单选值并在结果列中显示大/小

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

Controller :

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);
};
}

从其他答案中我确实推断出一些事情:

  1. 了解 JS 中的原型(prototype)继承吗?!
  2. ng-repeat 创建影响 ng-repeat 内这些 radio 的子作用域
  3. 在单选中的 ng-modal 上使用 $parent

我确实玩过,但无法完成这项工作,我想我在这里犯了一些明显的错误。

这是 fiddle : http://jsfiddle.net/mw2us37h/

注意:我没有使用 ng-value,而是传递一个硬编码值。更改为 ng-click 也不起作用

最佳答案

将此标记为重复,但解决方案似乎是在 AngularJS 中使用单选按钮时使用 ng-click 而不是 ng-change

这是对您的 fiddle 的有效编辑:http://jsfiddle.net/mw2us37h/1/

关于javascript - ng-change 事件在 ng-repeat 中仅触发一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42281040/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com