我有一个简单的表单,带有3个具有相同name="myNumber"
的单选按钮和一个处理ng-change
事件的方法
<form name="myForm" ng-controller="ExampleController">
<label>
<input type="radio" ng-model="number" name="myNumber" value="1" ng-change="handleChange()" /> 1
</label>
<label>
<input type="radio" ng-model="number" name="myNumber" value="2" ng-change="handleChange()" /> 2
</label>
<label>
<input type="radio" ng-model="number" name="myNumber" value="3" ng-change="handleChange()" /> 3
</label>
</form>
在更改处理程序中,我只需将$ scope.model的值设置为“ 3”
angular.module('radioExample', [])
.controller('ExampleController', ['$scope', function($scope) {
$scope.number = "1"; // initial value
$scope.handleChange = function() {
$scope.number = "3"; // what I want to do
};
}]);
然后,我尝试单击单选按钮以触发$scope.handleChange
事件以查看其是否有效,但是自从第二次单击以来,结果是这样的:
预期:单选按钮3一直处于检查状态。
实际:根本不选中所有单选按钮。
编辑1:更新小提琴示例
我将此<div>
作为简单的日志添加到了屏幕上,$scope.number
的结果始终=“ 3”,这是预期的。单选按钮的检查状态出了问题
<div>
$scope.number = {{number}}
</div>
答案 0 :(得分:0)
我不知道原因,但是当我从输入中删除name
属性时,问题就解决了。
我将其发布为答案是因为它解决了我的问题,但why
问题没有得到答案。