2015-08-31 88 views
0

//我編寫了從mongo-db中獲取數據的java代碼。我需要做的是勾選複選框按鈕,我必須使用angular-js和bootstrap在下拉菜單中顯示這些數據。執行這些代碼後沒有任何事情發生。在複選框的勾號上顯示下拉框

.html page 
<div ng-controller="release"> 
       <div class="col-md-2 col-centered col-fixed"> 
        <label for="cloneRelease" translate="release.form.cloneRelease">CloneRelease</label> 
       </div> 
        <div> 
         <input type="checkbox" ng-model="ticked"> 
         <div class="dropdown-menu" ng-repeat="release in releaseName" ng-show="ticked">{{release.name}}</div> 
        </div> 
       </div> 

controller.js 

releaseApp.controller('release', function($scope, $location, $http, ReleaseNameService){ 
    $scope.releaseName = []; 
    init(); 
    function init(){ 
     ReleaseNameService.getReleaseName().then(function(data){ 
      $scope.releaseName = data;}); 
      console.log('inside controller: '+$scope.releaseName); 
     } 
}); 

service.js 

releaseApp.factory('ReleaseNameService', function($http){ 
    var releaseName = []; 
    var factory = {}; 
    factory.getReleaseName = function(){ 
     return $http.get('release/fetchAllReleaseDetails').then(function(response){ 
      releaseName = response.data; 
      console.log('inside service method'+ releaseName); 
      return releaseName; 
     }); 
    };factory; 
}); 
+0

打電話給你關於checkBox的'ng-click'數據。 –

+0

你可以發佈你從mongoDb獲得的json結構嗎 –

+0

@莫漢:它只是一個我從數據庫中得到的名字。其實我的問題是HTML頁面,我不知道如何顯示覆選框的勾號下拉菜單。 – Girish

回答

1

它是簡單的,U需要綁定複選框與NG-型號:

<input type="checkbox" ng-model="ticked"> 

如果勾選$scope.ticked回報true,否則返回false。如果真的顯示數據,如果虛假隱藏它(使用ng-show

這裏是jsFiddle中沒有css ofc的例子。 http://jsfiddle.net/RLQhh/2282/

UPDATE:

recreateing情況下與服務。

service.js

app.factory('dataService', function ($http) { 
     var dataObject= { 
      async: function() { 
       var promise = $http.get('data/').then(function (response) { 
        return response; 
       }); 
       return promise; 
      } 
     }; 
     return dataObject; 
}) 

controller.js

$scope.dataTest = []; 
    $scope.ticketed = false; 

    var getData = function(){ 
     dataService.async().then(function (d) { 
      $scope.dataTest = d.data; 
     }); 
    } 

    getData(); 

HTML

<input type="checkbox" ng-model="ticketed"> 
<div ng-show="ticketed" ng-repeat="dat in dataTest"> 
    {{dat.name}} 
</div> 

...這是測試的情況下,所以它應該與你的工作

+0

它看起來不錯,它工作?你是否需要返回工廠對象的服務? –

+0

哦,我發現一些錯誤,我再現你的情況,並更新我的回答 –

+0

更新...現在嘗試實施它 –

0

你可以做一個REST調用從Java函數獲取數據並存儲它scope.Then你可以使用NG-重複在下拉菜單中顯示的數據。

這是一篇關於如何做的非常好的文章。

http://www.infragistics.com/community/blogs/dhananjay_kumar/archive/2015/06/29/how-to-work-with-the-bootstrap-dropdown-in-angularjs.aspx

+0

我的問題是如何顯示在複選框的勾號下拉?這些事我已經完成了。 – Girish

+0

你不能使用ng-show嗎? – user3587856