4

我正在编写 web 基础项目,我正在使用 angularjs。我在选择 html 元素上发现了 ng:disabled 指令的小错误。如果元素被禁用,我仍然可以使用向下和向上的键盘箭头更改其值。所以我想实现的是禁用select元素并消除这个小东西。

有人可以解释一下这个指令是如何工作的吗?我看过 angularjs 但无法弄清楚。

这是错误还是正常行为,我无法理解?

感谢您提前回答。

示例:http: //jsfiddle.net/kickwce/m23Gr/1/

<select class="select input-large" id="listType" name="listType"
                        ng-model="listType" ng-disabled="listType">
                        <option value="">- choose -</option>
                        <option value="item1">List of tracks</option>
                        <option value="item2">List of collections</option>
                    </select>
4

1 回答 1

6

问题似乎是选择框不会失去焦点。一个指令可以解决这个问题:

myApp.directive('blur', function () {
  return function (scope, element, attrs) {
    attrs.$observe('blur', function (newValue) {
      newValue != "" && element[0].blur();
    });
  }
});

HTML:

<select ... ng-model="listType" ng-disabled="listType" blur="{{listType}}">

小提琴

您可能应该在选择列表中使用ng-options 。

于 2013-01-12T02:21:07.700 回答