使用angularjs数据类型从json下拉选项正在追加

时间:2016-01-05 10:54:02

标签: javascript jquery angularjs json

使用ng-options,

在AngularJS中使用JSON填充select
<select id="routeName-{{$index}}" ng-model="row.routeName" ng-options="routeName.id as routeName.name for routeName in routeNames" ng-change="flowRootChange($index)" style="width: 115px;"></select>

输入JSON如下:

scope.routeNames=[{"id":"1","name":"routeName1"},{"id":"2","name":"routeName2"}];

但是在html中显示如下:

<select style="width: 115px;" ng-change="flowRootChange($index)" ng-options="routeName.id as routeName.name for routeName in routeNames" ng-model="row.routeName" id="routeName-0" class="ng-pristine ng-valid ng-touched">
   <option label="routeName1" value="string:1">routeName1</option>     
   <option label="routeName2" value="string:2">routeName2</option>
</select>

通过使用JQuery读取数据,我将string:2作为输出。

console.log($("#routeName-"+rowid +" :selected").val());

我无法使用ng-model / $scope.row.routeName,因为此下拉列表位于表格中。 如何在不使用split()方法的情况下读取所选值(不使用string:)? 我正在使用&#39; AngularJS v1.4.8&#39; varsion。

2 个答案:

答案 0 :(得分:1)

您可以使用ng-repeat代替ng-options

<select style="width: 115px;" ng-change="flowRootChange($index)" ng-model="row.routeName" >
   <option ng-repeat='routeName in routeNames' label="routeName{{ routeName.id  }}" value="{{ routeName.id }}">{{ routeName.name }}</option> 
</select>

答案 1 :(得分:-2)

检查一下: -

<select style="width: 115px;" ng-change="flowRootChange($index)" ng-model="name" >

{{routeName.name}}