启用特定输入上的单选按钮

Enable radio button on specific input

本文关键字:单选按钮 输入 启用      更新时间:2023-09-26

我有一个带有一些输入字段和单选按钮的表单。在特定输入上,我想启用单选按钮。这是 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>

这是控制器:

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使用双向绑定。

特殊启用为布尔true/false

ng-model-options在 Angular 版本 1.3 中引入。

我们不需要插值ng-disabled

<input type="radio" ng-disabled="specialEnabled" name="specialchoice" value="Value1">

波兰兹罗提: http://plnkr.co/edit/YAnTypvRjfJIL7Z4pC4s?p=preview

ng-disabled

是一个 AngularJS 指令,你不需要添加括号。

ng-disabled="specialEnabled"