0

我是AngularJS的新手。我试图让复选框显示为从以前选择的值中检查。我认为ng-class会做的,但事实并非如此。我在下面的代码中做了什么错误?下拉菜单中的复选框并未从先前在AngularJS中选择的值中检查

这里是我的HTML代码:角

<ul class="dropdown-menu menu-content" uib-dropdown-menu> 
     <li ng-repeat="value in values" > 
     <label><input type="checkbox" ng-class="{'checked' : value.selected, 'active' : value.selected}" ng-click="$ctrl.toggleValue(value)">{{value.valueName}}</label></li> 
</ul> 

回答

0
<body> 

    <script> 
    var app = angular.module("myShoppingList", []); 
    app.controller("myCtrl", function($scope) { 
     // dummy data 
     $scope.value = 1; // some value 
    }); 

    </script> 

    <div ng-app="myShoppingList" ng-controller="myCtrl"> 

    <input type="checkbox" ng-checked="value === 1"> 
    </div> 


</body> 

使用内置的NG-检查指令。

+0

我试过ng-checked =“value.selected”和ng-model =“value.selected”,他们都工作,但我不知道有什么区别。我注意到的一件事是ng-model在动态显示bootstrap下拉菜单中的多选值时不起作用。类似于https://codepen.io/anon/pen/pjagZR但具有多选值的东西。 (参考从https://stackoverflow.com/questions/33278097/how-to-display-the-selected-item-on-bootstrap-dropdown-title-in-angular) – CiCi

+0

ng-checked是角提供的指令,标记复选框检查它的值是否真实。使用它来代替ng-model来避免任何意外的错误,因为它是为了这个目的而设计的。 –

相关问题