我在服务器中生成了json数据。生成的数据是:
[
{"identifier":1,"data":{"name":"One"}},
{"identifier":2,"data":{"name":"Two"}}
]
我想创建以下选择:
<select ng-model="mydata.identifier">
<option value="">Please choose option</option>
<option value="**0**">One</option>
<option value="**1**">Two</option>
</select>
这是我的代码:
Angularjs控制器:
$scope.initMyData = function(){
$http.get('getData')
.success(function (data) {
$scope.alldata= data;
});
};
我的HTML
<select ng-model="mydata.identifier" ng-options="data.data.name for data in alldata">
<option value="">Please choose option</option>
</select>
为什么我选择的价值不正确?我的代码什么不好? 感谢
答案 0 :(得分:2)
试试这个
<select ng-model="mydata.identifier" ng-options="data.data.name for data in alldata.data">
<option value="">Please choose option</option>
</select>
数组应该是这样的
[
{"identifier":1,"data":{"name":"One"}},
{"identifier":2,"data":{"name":"Two"}}
];
答案 1 :(得分:2)
你缺少一个大括号。
[
{"identifier":1,"data":{"name":"One"},
{"identifier":2,"data":{"name":"Two"}
]
应该是
[
{"identifier":1,"data":{"name":"One"}},
{"identifier":2,"data":{"name":"Two"}}
]
答案 2 :(得分:1)
您的代码中有2个问题:
}
。ng-options
。例如。 value.data
<select ng-model="mydata.identifier" ng-options="value.data.name for value in allData">
<option value="">Please choose option</option>
</select>
我创建了一个示例小提琴here
答案 3 :(得分:0)
您可以使用as
注释告诉角度要绑定到ng-model
的值
<select ng-model="mydata.identifier"
ng-options="data.identifier as data.data.name for data in alldata">
<option value="">Please choose option</option>
</select>