2016-08-24 49 views
2
<div class="container" ng-controller="serviceHistoryController"> 
    <!-- Search box Start --> 
    <div class="dropdown col-xs-8"> 
      <button class="btn btn-default col-xs-4" id="dropdownMenu1" data-toggle="dropdown" aria-haspopup="false" aria-expanded="true"> 
      Select SUT 
      <span class="caret"></span> 
      </button> 
      <ul class="dropdown-menu col-xs-8" aria-labelledby="dropdownMenu1"> 
      <li ng-repeat="sutname in sutlist"> 
        <a href="#" ng-click="sutselected(sutname)"> 
         {{sutname.name}} 
        </a> 
      </li> 
      </ul> 
    </div> 
</div> 

上面是我使用的引导+角度下拉代码。但是,一旦我点击下拉菜单,它就会消失。我正在使用angular1 + boostrap 3.3.7和jquery 1.12.4库。没有使用其他脚本或js。点击后引导下拉消失

以下是角功能

app.controller("serviceHistoryController",function($scope){  
    let menuitems = [{"sutid":"1","name":"AA"}, 
        {"sutid":"2","name":"BB"}, 
        {"sutid":"3","name":"CC"}, 
        {"sutid":"4","name":"DD"}, 
        {"sutid":"4","name":"EE"}] 
    $scope.sutlist = menuitems; 
    $scope.selectedSUT; 

    $scope.sutselected = function(sutname){ 
     $scope.selectedSUT = sutname; 
     alert("dropdown sut selected:"+$scope.selectedSUT.name); 
    } 
}); 
+0

有一个在你的代码一个错字=>'咏叹调-haspopup = “FLASE”'。它需要'假'不''flase' –

+0

暴露您的sutselected角功能 – Aravind

+0

@Aravind请检查更新的问题 – vashishth

回答

0

的问题是与您的数据类型使用VAR看到修改后的控制器。

app.controller("serviceHistoryController",function($scope){  
    var menuitems = [{"sutid":"1","name":"AA"}, 
        {"sutid":"2","name":"BB"}, 
        {"sutid":"3","name":"CC"}, 
        {"sutid":"4","name":"DD"}, 
        {"sutid":"4","name":"EE"}] 
    $scope.sutlist = menuitems; 
    $scope.selectedSUT; 

    $scope.sutselected = function(sutname){ 
     $scope.selectedSUT = sutname; 
     alert("dropdown sut selected:"+$scope.selectedSUT.name); 
    } 
}); 
+0

我有上面的测试,没有运气。让let是es6的有效数据类型。 – vashishth

0

请参见

var app = angular.module('main', []); 
 
app.controller("serviceHistoryController",function($scope){  
 
    var menuitems = [{"sutid":"1","name":"AA"}, 
 
        {"sutid":"2","name":"BB"}, 
 
        {"sutid":"3","name":"CC"}, 
 
        {"sutid":"4","name":"DD"}, 
 
        {"sutid":"4","name":"EE"}] 
 
    $scope.sutlist = menuitems; 
 
    $scope.selectedSUT; 
 

 
    $scope.sutselected = function(sutname){ 
 
     $scope.selectedSUT = sutname; 
 
     alert("dropdown sut selected:"+$scope.selectedSUT.name); 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> 
 

 
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" > 
 
<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" ></script> 
 
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 

 
<div ng-app="main" class="container" ng-controller="serviceHistoryController"> 
 
    Normal : <select> 
 
     <option>select</option> 
 
    <option ng-repeat="sutname in sutlist"> {{sutname.name}}</option> 
 
    </select> 
 
    <br/> <br/> 
 
    <!-- Search box Start --> 
 
    <div class="dropdown col-xs-8"> 
 
     Bootstrap <button class="btn btn-default col-xs-4" id="dropdownMenu1" data-toggle="dropdown" aria-haspopup="flase" aria-expanded="true"> 
 
      Click Here 
 
      <span class="caret"></span> 
 
      </button> 
 
      <ul class="dropdown-menu col-xs-8" aria-labelledby="dropdownMenu1"> 
 
      <li ng-repeat="sutname in sutlist"> 
 
        <a href="#" ng-click="sutselected(sutname)"> 
 
         {{sutname.name}} 
 
        </a> 
 
      </li> 
 
      </ul> 
 
     
 
     
 
    </div> 
 
</div>

+0

它正常工作和bootstrap什么问题? – Pravin

+0

在bootstrap下拉菜单中,像按钮一样,请参阅http://getbootstrap.com/components/#dropdowns – Pravin

+0

:(奇怪的是,我不明白它为什么不能与我合作,这是应用程序模块,我是usign - 让mockapp = angular .module(“mockapp”,['ngSanitize','ngRoute','ngMessages','ctrlModule']);,现在我正在尝试使用ui-bootstrap – vashishth