我有一个带有一些输入字段和单选按钮的表单。在特定输入上,我想启用单选按钮。这是 html 文件:
<div ng-controller="participantCtrl">
{{specialEnabled}}
<form>
<input type="text" class="form-control" placeholder="Name" ng-model="participant.name" ng-model-options="{ getterSetter: true }">
<div id="choice">
<input type="radio" ng-disabled="{{specialEnabled}}" name="specialchoice" value="Value1"> Value1
<input type="radio" ng-disabled="{{specialEnabled}}" name="specialchoice" value="Value2"> Value2
</div>
<input type="submit" value="submit"></input>
</form>
</div>
这是 Controller :
SomeControllers.controller('participantCtrl', ['$scope', function($scope) {
$scope.specialEnabled = "true";
var _name = '';
$scope.participant = {
name: function(newName) {
if (angular.isDefined(newName)) {
_name = newName;
if (_name == "Foo"){
$scope.specialEnabled = "false";
}
}
return _name;
}
};
}]);
我所做的是检查名称是否为 Foo,然后将禁用更改为 false。发生这种情况。我在表单顶部打印specialEnabled,一旦名称匹配,它就会从 true 变为 false,但它不会启用单选按钮。我做错了什么?
最佳答案
ng-disabled
使用双向绑定(bind)。
specialEnabled 为 bool 值true/false
ng-model-options
在 Angular 版本 1.3 中引入。
我们不需要 ng-disabled
的插值
<input type="radio" ng-disabled="specialEnabled" name="specialchoice" value="Value1">
关于javascript - 在特定输入上启用单选按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28989464/