2014-09-19 74 views
2

是否有可能將AngularJS添加到Boostrap下拉列表中(而不是<select/>,而是Javascript組件)?這是我有:AngularJS表單驗證的引導下拉

<div class="form-group has-feedback" ng-class="{'has-error': editorForm.example.$invalid && !editorForm.example.$pristine, 'has-success': editorForm.example.$valid && !editorForm.example.$pristine}"> 
     <label for="example">Example</label> 

     <div class="dropdown" id="example" style="width: 90%"> 
      <button class="btn btn-default dropdown-toggle" type="button" id="dropdown" 
        data-toggle="dropdown"> 
       {{exampleLabel}} 
       <span class="caret"></span> 
      </button> 
      <ul class="dropdown-menu" role="menu" aria-labelledby="dropdownMenu1"> 
       <li data-ng-repeat="example in examples" role="presentation"><a 
         role="menuitem" tabindex="-1" 
         data-ng-click="selectExample(example)" 
         href="javascript:void(0);">{{example.label}}</a> 
       </li> 
      </ul> 
     </div> 

$scope.selectExample = function(val) { 
    $scope.example = val; 
} 

有沒有辦法對我來說,編程設定的有效性selectExample

+1

爲什麼不使用angular bootstrap ui? http://angular-ui.github.io/bootstrap/ https://github.com/angular-ui/bootstrap/tree/master/src/dropdown – bencripps 2014-09-19 18:58:47

回答

1

加入這個隱藏的文本框:

<input type="text" name="exampleLabel" ng-model="exampleLabel" hidden required /> 

,並且下拉

<span class="text-danger" ng-show="myForm.exampleLabel.$error.required"> 
        validation message 
       </span> 
0

這工作me.hope你可以得到一些想法後添加此驗證。

<style>

.dropdown-has-error{ 
    border-color: #a94442;//bootsrtap warning color 
} 

</style> 

添加ng-class指令的下拉按鈕

ng-class="{'dropdown-has-error' : example == ''} 

控制器

$scope.example = ''; 

$scope.selectExample = function(val) { 
    $scope.example = val; 
} 

,或者你可以檢查的條件,如上面的帖子,

ng-class="{'dropdown-has-error' : myForm.exampleLabel.$error.required}