2016-09-08 2 views
0

각도 j를 사용하는 동적 검색 양식을 사용하려고합니다.이 양식에서 전달 된 json 데이터를 기반으로 필드를 추가하고 있습니다. 부트 스트랩 드롭 다운이 사진 오는 때 지금 형태의 음식물을 잘못을 정렬하지만부트 스트랩 드롭 다운 메뉴가 동적 양식에서 잘못된 정렬을 유도했습니다.

<!DOCTYPE html> 
<html lang="en" ng-app="app" ng-init="names=['Jani','Hege','Kai']"> 
<head > 
    <title>ISS Core</title> 
    <meta charset="utf-8"> 
    <meta name="viewport" content="width=device-width, initial-scale=1"> 
    <link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"> 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> 
    <script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> 
    <link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"> 

    <!--angular grids based ependency --> 

    <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.3/angular.js"></script> 
    <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.3/angular-touch.js"></script> 
    <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.3/angular-animate.js"></script> 
    <script src="http://ui-grid.info/docs/grunt-scripts/csv.js"></script> 
    <script src="http://ui-grid.info/docs/grunt-scripts/pdfmake.js"></script> 
    <script src="http://ui-grid.info/docs/grunt-scripts/vfs_fonts.js"></script> 
    <script src="http://ui-grid.info/release/ui-grid.js"></script> 
    <link rel="stylesheet" href="http://ui-grid.info/release/ui-grid.css" type="text/css"> 
    <style> 
    .form-horizontal .control-label { 

    } 

    .form-horizontal .controls { 

    } 
    /* Remove the navbar's default margin-bottom and rounded borders */ 
    .navbar { 
    margin-bottom: 0; 
    border-radius: 0; 
    background-color: #0a4e8f; 
    } 

    body { 
    background-color: #f2f2f2; 
    overflow: auto; 
    } 


    /* Add a gray background color and some padding to the footer */ 
    footer { 
    background-color: #f2f2f2; 
    padding: 25px; 
    } 

    .h2{ 

    padding: 25px; 
    background-color: #0a4e8f; 
    } 
    .grid { 
    width: 100%; 
    height: 50vh; 
    } 

    .my-custom-menu { 
    position: absolute; 
    } 

    .my-custom-menu .ui-grid-menu { 
    padding: 0px; 
    } 

    .my-custom-menu .ui-grid-menu-inner { 
    -webkit-box-shadow: none; 
    box-shadow: none; 
    } 



    .rotated { 
    transform: rotate(180deg); 
    -webkit-transform: rotate(180deg); 
    -ms-transform: rotate(180deg); 
    -moz-transform: rotate(180deg); 
    -o-transform: rotate(180deg); 
    } 

    body { 
    padding-top: 50px; 
    padding-bottom: 20px; 
} 
#search h3{background-color: #0a4e8f;color:white;padding-left:25px} 


/* Set padding to keep content from hitting the edges */ 


    .ui-grid-cell { display : table-cell; height: auto !important; overflow:visible; position: static; padding-top: 10px; } 
    .ui-grid-row { display : table-row; height: auto !important; position: static; } 
    .ui-grid-cell-contents{ height: auto !important; white-space: normal; overflow:visible; } 

    </style> 
<script type="text/javascript"> 
    var app = angular.module('app', ['ngTouch', 'ui.grid', 'ui.grid.exporter', 'ui.grid.selection']); 

    app.controller('MainCtrl', ['$scope', '$http', '$interval', '$q', function ($scope, $http, $interval, $q) { 
    var fakeI18n = function(title){ 
     var deferred = $q.defer(); 
     $interval(function() { 
     deferred.resolve('col: ' + title); 
     }, 1000, 1); 
     return deferred.promise; 
    }; 

    $scope.gridOptions = { 
     exporterMenuCsv: false, 
     enableGridMenu: true, 
     gridMenuTitleFilter: fakeI18n, 
     columnDefs: [ 
     { name: 'name' }, 
     { name: 'gender', enableHiding: false }, 
     { name: 'company' } 
     ], 
     gridMenuCustomItems: [ 
     { 
     title: 'Rotate Grid', 
     action: function ($event) { 
      this.grid.element.toggleClass('rotated'); 
     }, 
     order: 210 
     } 
     ], 
     onRegisterApi: function(gridApi){ 
     $scope.gridApi = gridApi; 

     // interval of zero just to allow the directive to have initialized 
     $interval(function() { 
     gridApi.core.addToGridMenu(gridApi.grid, [{ title: 'Dynamic item', order: 100}]); 
     }, 0, 1); 

     gridApi.core.on.columnVisibilityChanged($scope, function(changedColumn){ 
     $scope.columnChanged = { name: changedColumn.colDef.name, visible: changedColumn.colDef.visible }; 
     }); 
    } 
    }; 

    $http.get('https://cdn.rawgit.com/angular-ui/ui-grid.info/gh-pages/data/100.json') 
    .success(function(data) { 
    $scope.gridOptions.data = data; 
    }); 
}]); 


</script> 

</head> 
<body> 
    <div class="container-fluid" > 
    <div class="row" id="formDetail" style="background-color: #0a4e8f;color:white;padding:5px;height:10%"> 
    <div class="col-sm-6 col-xs-6 col-lg-6"> 
     <h3 > Heading 1</h3> 
    </div> 
    <div class="col-sm-6 col-xs-6 col-lg-6"> 

     <div class="collapse navbar-collapse" id="myNavbar"> 

     <ul class="nav navbar-nav navbar-right"> 
      <li><a href="#"><span class="glyphicon glyphicon-log-in"></span> Login</a></li> 
     </ul> 
     </div> 
    </div> 
    </div> 

    <div class="row" id="search"> 
    <h3 style="">Heading 2</h3>; 

    <form class="form-horizontal blockl"> 

     <div class="form-group" ng-controller="myCtrl" id="test"> 

     <div ng-repeat="value in items" ng-switch on="value.type" class="col-lg-3 col-md-3 col-sm-6 col-xs-12"> 
      <div ng-switch-when="dropdown" > 
      <label class="control-label col-lg-6 col-md-6 col-sm-6 col-xs-6" ng-bind="value.label"></label> 
      <div class="col-lg-6 col-md-6 col-sm-6 col-xs-6"> 
      <div class="dropdown" > 


       <button class="btn btn-default dropdown-toggle" type="button" id="menu1" data-toggle="dropdown">Tutorials 
       <span class="caret"></span></button> 
       <ul class="dropdown-menu" role="menu" aria-labelledby="menu1"> 
        <li role="presentation"><a role="menuitem" tabindex="-1" href="#">HTML</a></li> 
        <li role="presentation"><a role="menuitem" tabindex="-1" href="#">CSS</a></li> 
        <li role="presentation"><a role="menuitem" tabindex="-1" href="#">JavaScript</a></li> 
        <li role="presentation" class="divider"></li> 
        <li role="presentation"><a role="menuitem" tabindex="-1" href="#">About Us</a></li> 
       </ul> 

       </div> 
      </div> 
      </div> 

      <div ng-switch-when="radio"> 
      <label class="control-label checkbox-inline col-lg-6 col-md-6 col-sm-6 col-xs-6" ng-bind="value.label"></label> 
      <div class="col-lg-6 col-md-6 col-sm-6 col-xs-6" style="padding:5px"> 
       <input type="checkbox" value="" /> 
      </div> 
      </div> 


      <div ng-switch-when="text"> 
      <label class="control-label col-lg-6 col-md-6 col-sm-6 col-xs-6">{{value.label}}</label> 
      <div class="col-lg-6 col-md-6 col-sm-6 col-xs-6" style="padding:5px"> 
      <input type="{{value.type}}" class="form-control"> 
      </div> 
     </div> 


     <div ng-switch-when="label"> 
      <label class="control-label col-lg-6 col-md-6 col-sm-6 col-xs-6" >{{value.label}}</label> 
      <div class="col-lg-6 col-md-6 col-sm-6 col-xs-6" style="padding-left: 7px"> 
      <label class="control-label col-sm-2" style="padding-left: 0px">{{value.value}}</label> 
     </div> 
     </div> 

    </div> 
    </div> 


</form> 
</div> 
<div class="row" id="grid" > <h3 style="background-color: #0a4e8f;color:white;padding-left:25px">heading 3</h3> 

<div id="grid1" ui-grid="gridOptions" ui-grid-exporter ui-grid-selection class="grid"></div> 
<div ng-if='columnChanged'> 
    Column Visibility Changed - name: {{ columnChanged.name }} visible: {{ columnChanged.visible }} 
</div> 
<div><p>nand</p></div>  
</div> 
</div> 

</body> 

<script type="text/javascript"> 
    var app = angular.module('app', []); 
    app.controller("myCtrl", function($scope) { 
    $scope.items = { 
    ll: {type: 'dropdown', label: 'myDropDown'}, 
     one: {type: 'text', label: 'Mytext'}, 

     two: {type: 'text', label: 'Mytext'}, 

     three: {type: 'text', label: 'Mytext'}, 


     five: {type: 'text', label: 'Mytext'}, 
     six: {type: 'text', label: 'Mytext'}, 
     seven: {type: 'text', label: 'Mytext'}, 


     eight: {type: 'text', label: 'Mytext'}, 

     nine: {type: 'text', label: 'Mytext'}, 
     ten: {type: 'text', label: 'Mytext'}, 
     e: {type: 'text', label: 'Mytext'}, 
     b: {type: 'text', label: 'Mytext'}, 
     a: {type: 'text', label: 'Mytext'}, 
     q: {type: 'text', label: 'Mytext'}, 
     w: {type: 'text', label: 'Mytext'}, 
     i: {type: 'label', label: 'label',value:'labelValue'}, 
     l: {type: 'dropdown', label: 'myDropDown'}, 

    }; 
    }); 




</script> 


</html> 

(은이 첨부 된 이미지에 빨간색으로 강조 있어요). 이 문제를 해결하기 위해 "폼 인라인"등의 다른 부트 스트랩 클래스로 시도했지만 작동하지 않았습니다. 어떤 단서가 잘못되어 있는지 나와 있습니다. enter image description here

답변

0

귀하의 열 높이

enter image description hereenter image description here

는 정렬 문제가 발생하는 불평등이다. 당신의 열 높이가 동일하게 다음 CSS를 사용

.row-eq-height { 
    display: -webkit-box; 
    display: -webkit-flex; 
    display: -ms-flexbox; 
    display: flex; 
    flex-wrap: wrap; 
} 
.row-eq-height > [class*='col-'] { 
    display: flex; 
    flex-direction: column; 
} 
다음 사업부의

추가 행 EQ 높이 클래스,

<div class="form-group row-eq-height" ng-controller="myCtrl" id="test"> </div> 
관련 문제