我能够使用Angular JS将所有值绑定到选项标记。但是,我的问题是,在加载时,会附加空值。当我在JS代码中设置一个值时,它只设置第一个值,但是当我在浏览器控制台中检查时,它不会被选为属性。我怎样才能为选项标签赋予自己的价值。
这始终只设置第一个值"选择"属性
statePromise.success(function(data, status, headers, config) {
for(index in data) {
console.log("ID:"+data[index].id+" Name:"+data[index].name);
if (data[index].id) {
$scope.states.push({
id:data[index].id,
name:data[index].name
});
}
}
$scope.statelist = $scope.states;
$scope.state = $scope.statelist[0];
但是,当我更改选项值并在浏览器中检查时,它仍会首先显示。因为上述说法。如何设置我从DB获得的选项值
<option value="1">AP</option>
<option value="2">TN</option>
<option value="3">KN</option>
实际上它的保存为
<option value="0">AP</option>
<option value="1">TN</option>
<option value="2">KN</option>
<select ng-model="state" ng-change="changeState()" ng-options="state.name for state in statelist"></select>
任何想法都将不胜感激。
答案 0 :(得分:0)
尝试将ng-options更改为
ng-options="state.id as state.name for state in statelist"
在您的控制器中执行以下操作:
$scope.state = $scope.statelist[0].id;