ng:disabled不适用于select html元素

Jar*_*ila 4 javascript angularjs

我正在写web base项目,我正在使用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>
Run Code Online (Sandbox Code Playgroud)

Mar*_*cok 6

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

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

HTML:

<select ... ng-model="listType" ng-disabled="listType" blur="{{listType}}">
Run Code Online (Sandbox Code Playgroud)

小提琴.

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