1

我正在使用带有 valdr 的 ui-select。我使用以下指令来修补名称属性问题,并且 ui-select 的 valdr 有效,但是当我更改 ui-select 值时,它不会更新消息。那就是表单元素保持在 ng-invalid 状态。同样的事情适用于其他不使用 ui-select 的输入。

这是我的指令:

angular.module('app').directive('input', function () {
    var count = 0;
    return {
      restrict: 'E',
      compile: function () {
        return {
          pre: function (scope, element, attrs) {
            // if the input is created by ui-select and has ng-model
            if(element.hasClass('ui-select-search') && attrs.ngModel) {
              var nameAttr = element.parent('.ui-select-bootstrap').attr('name');
              var idAttr = element.parent('.ui-select-bootstrap').attr('id');
              if(nameAttr){
                attrs.$set('name', nameAttr);
              }

              if(idAttr){
                attrs.$set('id', idAttr);
              }

            }
          }
        }
      }
    }
  });
4

0 回答 0