Angular:根据另一个输入字段重置下拉列表

时间:2016-12-20 07:27:01

标签: javascript jquery angularjs user-interface

我在表格中使用下拉列表,默认情况下会显示以空白选项为首的选项列表。当我从列表中选择任何有效选项时,此空白选项将消失。

我的要求:每当满足为另一列指定的条件时,下拉列表应返回其原始位置。也就是说,必须再次包含空白选项,默认情况下在第一阶段显示。

无论如何重置带有空白选项的下拉列表,就像它第一次加载div时显示的那样?

2 个答案:

答案 0 :(得分:0)

根据我的理解,这是我的解决方案。 每当满足为另一列指定的条件时,将范围变量设置为true,比如说$scope.condition=true,并在select标签中添加一个这样的选项

<select ng-model="selectedName">
<option ng-selected="condition"> </option>
<option  ng-repeat="x in names">{{x}}</option>
</select>

希望这有帮助!

答案 1 :(得分:0)

当没有设置默认选项时会发生描述问题,然后<gcloud.plugin.version>2.0.9.133.v201611104</gcloud.plugin.version> 设置额外的空格,在第一次使用select后它会消失。解决方案是从options数组中设置默认选项。

检查我的代码是否使用了错误的解决方案(我认为是您当前的解决方案)和使用默认值的正确解决方案。

ng-options
var app=angular.module("app", []);
app.controller("controller", function($scope){
  
  // notice that no chosenItemFirstSelect is here so
  // we have blank value becaouse no default choose
  $scope.items=[
    {id:1, label:"Option 1"},
    {id:2, label:"Option 2"},
    {id:3, label:"Option 3"}
  ];
  
  //correct way of doing this
  
  $scope.itemsCorrect=[
    {id:0, label:""},//default option is in options array
    {id:1, label:"Option 1"},
    {id:2, label:"Option 2"},
    {id:3, label:"Option 3"}
  ];
  
  //MOST IMPORTANT IS TO CHOOSE OPTION 
  //choose default value
  $scope.chosenItemSecondSelect=$scope.itemsCorrect[0];
  
  
  
});