基于参数的角度未设置显示值的组合框(选择组件)

时间:2016-02-17 17:06:22

标签: javascript angularjs combobox

我一直在寻找这个主题并找到了很多方法,但直到现在我还找不到符合我需要的东西。

我在控制器级别有以下代码:

controller: function($scope, $uibModalInstance) {            
        $scope.rawDownloads = [{name: 'QA environment', month: 'Dec'}, {name: 'Production environment', month: 'Feb'}, {name: 'UAT environment', month: 'Jul'}];
        $scope.availableMonths = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];                       
      }

我在视图部分中所做的工作如下:

<table align="center">
<tr>
  <td>Environment Name</td>
  <td>Current Release Month</td>
</tr>
<tr data-ng-repeat="e in rawDownloads">
  <td>{{e.name}}</td>  
  <td><select id="{{e.name}}" name="{{e.name}}" ng-model="selectedMonth" ng-options="m as m for m in availableMonths"></select></td>
</tr>
</table>

“rawDownloads”实际上是来自服务的数据,一个包含更多元素和一些其他属性的简单数组,但我只是总结这一点以使其更简单。

如您所见,我应该有三行,每行应该有一个select组件。我在显示每行的“选择”组件时遇到问题,它显示每个行从1月到12月的月份(直到该部分没有问题);但是,第一个索引始终是一个空格,我不确定如何删除它,但主要问题是当我尝试设置select组件的默认值时。例如,属于“QA环境”的第一行应该将select选项的值默认为“Dec”,但每次我使用ng-init从rawDownloads默认值为month,整个事情就会得到搞砸。我尝试ng-model试图设置ng-model="{{e.month}}"但不会产生结果。

有人可以就此问题提供反馈意见吗?我一直尝试使用<select><options>标签使用“ng-repeat”但完全没有成功。

提前致谢。

1 个答案:

答案 0 :(得分:1)

如果您需要默认值,可以设置ng-model="e.month"

<select id="{{e.name}}" 
    name="{{e.name}}" 
    ng-model="e.month" 
    ng-options="m as m for m in availableMonths">
</select>

看小提琴:http://jsfiddle.net/bZX7Q/80/