单选按钮值更改在 AngularJS 中不起作用
Radio button Value change not working in AngularJS
myApp.controller("MyCtrl",function ($scope) {
$scope.value1= '0';
$scope.$watch('value1', function(value) {
alert(value);
});
});
JS代码:
var myApp = angular.module('myApp',[]);
function MyCtrl($scope) {
$scope.value1= '0';
$scope.$watch('value1', function(value) {
alert(value);
});
}
网页代码:
<div ng-controller="MyCtrl">
<span ng-repeat="i in [0, 1, 2]">
<input name="asdf" ng-model="value1" value="{{i}}" type="radio">
</span>
<hr>
{{value1}}
</div>
仅在加载时显示警报。之后value1
仅显示初始值,即0
。
演示
这实际上是范围的问题。我已经在 http://jsfiddle.net/ucf02Lxz/2/修改了这里的例子。看一看。基本上,您需要使用对象来修改父范围内的值。
var myApp = angular.module('myApp',[]);
myApp.controller('MyCtrl', function($scope) {
// an object to prevent problem
$scope.data = {};
$scope.data.value1 = '0';
$scope.$watch('data.value1', function(value) {
alert(value);
});
})
<div ng-controller="MyCtrl">
<span ng-repeat="i in [0, 1, 2]">
<input name="asdf" ng-model="data.value1" ng-value="i" type="radio" />
</span>
<hr />
{{data.value1}}
</div>
阅读更多内容 https://github.com/angular/angular.js/wiki/Understanding-Scopes
相关文章:
- 我的AngularJS表达式没有'不起作用
- AngularJS指令部分应用的函数don'不起作用
- AngularJS ng include dons'不起作用
- AngularJs和Laravel的Pretty Urls不起作用
- Google Maps API OverlayView()在AngularJS指令中不起作用
- AngularJS ng include won'不知什么原因不起作用
- AngularJS没有'不起作用
- Grunt concat js angularjs 不起作用
- angularjs ng点击运行时标记不起作用
- AngularJS:$on dons'不起作用
- AngularJS-简单的教程不起作用
- 输入类型范围在angularjs重复内不起作用
- Reveal Modal中带有Foundation-Controller的AngularJS不起作用
- angularjs不起作用的Json响应
- 过滤器搜索与 AngularJs 不起作用
- 带有jquery自动完成的Angularjs不起作用
- 从php获取数据到angularjs不起作用
- 使用$httpBackend测试Jasmine/Karma的AngularJS不起作用
- $ statprovider angularJs不起作用
- 使用ngRoute使jquery tab使用angularjs不起作用