javascript - 在特定输入上启用单选按钮

标签 javascript html angularjs

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

地址:http://plnkr.co/edit/YAnTypvRjfJIL7Z4pC4s?p=preview

关于javascript - 在特定输入上启用单选按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28989464/

相关文章:

javascript - 为什么对象中的属性是未定义的,尽管它存在于对象的 __proto__ 中?

javascript - Nodejs Couchbase 从文档反序列化日期属性

javascript - 转义只知道其索引的字符

javascript - 使用 jquery 在 div 可见时将 HTMl 添加到 div

html - 媒体查询不起作用

javascript - 在网页上显示图标的问题

javascript - 文本字段/文本框的值不会永久更改

javascript - Controller 中的分配未传递到服务

javascript - 启用/禁用温泉按钮

javascript - 如何对数组和对象进行分组?