angularjs在多个下拉菜单上设置不同的选项

时间:2014-02-27 11:23:48

标签: html angularjs dropdownbox

我希望有办法实现这一目标。 我正在使用ng-repeat创建下拉列表;创建的下拉数量取决于我从数据库中检索的数据。 根据数据,我想为每个下拉列表设置一个初始选项值。 请考虑以下代码:

 <span class="finds" ng-model="cond" ng-repeat="condin list">
<select ng-model="selected_item" ng-options="condition.name for condition in conditionTypes"></select>

<input ng-model="cond.name"/>
</span>

我可以通过更改selected_item值来更改下拉列表的值,但这会更改所有下拉列表的值(因为该变量已绑定)。 那么我是否可以独立地更改每个下拉列表的值而不影响其他下拉列表(也不会创建多个变量)?

谢谢

2 个答案:

答案 0 :(得分:0)

如果您希望根据第一个选择框中的值填充正确的下拉列表,那么您应该这样做。

假设您有两个下拉列表,如;

<select ng-model="first" class="form-control" ng-change="secondcall()">
      <option ng-repeat = "firstdata in firstdatas" value="{{firstdata}}">{{firstdata}}</option>
 </select>
<select ng-model="second" class="form-control">
      <option ng-repeat = "seconddata in seconddatas" value="{{seconddata}}">{{seconddata}}</option>
</select>

在您的控制器中;

$scope.secondcall = function () {
  var value = $scope.first;
  //Make an API call to fetch details with the select value and in the success do this

    $scope.seconddatas = data from the api;

};

答案 1 :(得分:0)

只有一个ng-repeat,用于创建一组下拉列表。 我需要从数据库中检索数据,然后根据数据我可以定义需要多少下拉菜单。 ng-repeat做到了这一点。如果,在处理完数据后我需要2个下拉菜单,那么我将在循环中创建两对 dropdown1 dropdwon1.0 {1.0应该加载列表,具体取决于1

中选择的选项

dropdown2 dropdown2.0 {2.0应该加载列表,具体取决于2中选择的选项