使用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。
答案 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}}