使用AngularJS中的ng-options添加两个选项以选择列表顶部和底部

时间:2015-09-16 15:37:55

标签: angularjs asp.net-mvc-4 angularjs-ng-options

我正在尝试使用Angular填充cshtml页面中的下拉列表。 Angular controller使用Web API调用服务来返回值。我添加了一个默认的选定项目,以指示用户从列表中选择一个项目。我还想将“其他”附加到选择列表的末尾。

如果可以,我更愿意使用ng-options。我知道如何使用ng-repeat.

执行此操作

标记如下:

<div class="formElement">
  <label for="companySelect" class="required long">{{'CompanyName'}}</label>
  <select name="companySelect" id="companySelect" ng-change="selectCompany()" ng-model="data" data-ng-options="company.CompanyName 
    for company indata.companySelect | orderBy:'CompanyName' track by company.CompanyName">
    <option value="">Please Select</option>
    <option value ="other">Other</option>
  </select>
</div>

2 个答案:

答案 0 :(得分:2)

我想如果你的webapi返回一些json数据,你在角度控制器中得到$_POST的值

  • $choice = $_POST['choice']; 添加到数组的顶部元素

您可以使用数组unshift

来完成
$scope.company
  • Please Select添加到数组的底部元素

您可以使用数组push

来完成
$scope.company.unshift("Please Select")// May it be a object

答案 1 :(得分:0)

我通过对Web Api中的数据进行排序,然后在最后添加名称为other的新公司类型来解决此问题。这使列表按顺序排列,并为我提供了其他信息。我希望在AngularJS中找到一个简单的解决方案,但提供的解决方案并不能说明需要有一个排序列表。感谢您的建议,我意识到我没有说出列表已经排序,但很容易在我发布的HTML中看到。