如何获取angularsjs上ng重复选项的数组中的子值

how to get sub value in array for ng-repeat option on angulars js?

本文关键字:选项 数组 ng 何获取 获取 angularsjs      更新时间:2023-09-26

使用ng repeat,但无法获取选项值!

救命!html:

<ul ng-controller="app">
    <li ng-repeat="mainlist in mainlists">
    <p>{{mainlist.name}}</p>
    <select ng-options="mainlist.list for mainlist.list in mainlists.list">
      <option value="">{{mainlist.list.name}}</option>
    </select>
  </li>
</ul>

这个演示

js:只获取{{mainlist.name}}而不获取{{Mainlist.name}}TR

function app($scope) {  
  $scope.mainlists = [
    {
      "name":"main001",
      "list":[
        {
          "no":"1",
          "name":"sub1"
        },{
          "no":"2",
          "name":"sub2"
        }]
     },
   {
      "name":"main002",
      "list":[
        {
          "no":"2-1",
          "name":"sub1"
        },{
          "no":"2-2",
          "name":"sub2"
        }]
     }]
 };

这个演示

ngOptions指令要求在select元素上定义ngModel指令

这不是一个记录在案的陷阱,但从源代码中可以看出

因此,如果您将ngModel添加到它们中,您的选择将起作用:

<select 
  ng-model="mainlist.value" 
  ng-options="item as item.name for item in mainlists.list"
>
</select>

或者,如果您不打算将选择与模型连接起来(非常不寻常的情况),那么您可能希望将ng-repeat与您的选择选项一起使用:

<select>
  <option ng-repeat="item in mainlist.list">{{item.name}}</option>
</select>