AngularJs的ng-options 的value错误?

<div ng-controller="CityController">
    <select ng-model="city" ng-options="city.name for city in cities">
        <option value="">Choose City</option>
    </select>
    Best City: {{ city.name }}
</div>
<script type="text/javascript">
    var testApp = angular.module("testApp", []);
    testApp.controller("CityController", function($scope){
        $scope.cities = [
            {name: 'Seattle'},
            {name: 'San Francisco'},
            {name: 'Chicago'},
            {name: 'New York'},
            {name: 'Boston'}
        ];
    });
</script>

渲染完后:

<select ng-model="city" ng-options="city.name for city in cities" class="ng-pristine ng-valid ng-touched">
    <option value="" class="" selected="selected">Choose City</option>
    <option label="Seattle" value="object:3">Seattle</option>
    <option label="San Francisco" value="object:4">San Francisco</option>
    <option label="Chicago" value="object:5">Chicago</option>
    <option label="New York" value="object:6">New York</option>
    <option label="Boston" value="object:7">Boston</option></select>

为什么我渲染出来value的值是错误的,而且多了个label的属性,书上渲染出来是正确的jsbin上的例子???

阅读 4.9k
2 个回答

你直接取ng-model取值看看能取到正确的值吗?代码没看出来哪错了。

<select  ng-model='handleDelay.id' >
 <option ng-repeat="x in type" value="{{x.id}}">{{x.name}}</option>
</select>

用ng-repeat 试试

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题