我正在尝试动态设置选择列表的选项,并且我仍然需要放在ng-options参数中,以使其按照我的意愿运行。
这是JSON
{
"131":"Activity A",
"141":"Activity B",
"143":"Activity C",
"186":"Activity D",
"187":"Activity E",
}
我的选择列表是......
<select size="7" ng-model="selectedItems" ng-options="item.id as item.name for item in rlist">
我的app.js是......
angular.module('qAssign', []).controller('qCtrl', function ($scope, $http) {
$scope.selectedItems = null;
$scope.rlist = [];
$http({
method: 'GET',
url: 'pathtoJSON.php',
data: { applicationId: 1 }
}).success(function (result) {
$scope.rlist = result;
});
});
呈现的内容是
<option value="">undefined</option>
<option value="">undefined</option>
<option value="">undefined</option>
<option value="">undefined</option>
<option value="">undefined</option>
但我想要的是
<option value="131">Activity A</option>
<option value="141">Activity B</option>
<option value="143">Activity C</option>
<option value="186">Activity D</option>
<option value="187">Activity E</option>
我知道我的ng-options不正确,我只是不知道它应该是什么。
感谢。
答案 0 :(得分:1)
你正在以错误的方式选择。把它作为。
angular.module('qAssign', []).controller('qCtrl', function ($scope, $http) {
$scope.selectedItems = null;
$scope.rlist = [];
$http({
method: 'GET',
url: 'pathtoJSON.php',
data: { applicationId: 1 }
}).success(function (result) {
$scope.rlist = result;
$scope.selectedItems = result.131;
});
});
答案 1 :(得分:0)
它应该是对象数组
[
{ id:"131", name:"Activity A"},
{ id:"132", name:"Activity B"},
{ id:"133", name:"Activity A"}
]
答案 2 :(得分:0)
尝试使用angular.copy
$http.get('pathtoJSON.php', {applicationId: 1})
.success(function (result) {
angular.copy(result, $scope.rlist);
});
答案 3 :(得分:0)
确定您可以在服务器端执行此操作:
$arr_temp = array (131 => Activity A, 132 => Activity B);
$arr_json = array();
foreach ($arr_temp as $key => $val) {
$arr_json[] = array('id' => $key, 'name' => $val);
}
return json_encode($arr_json);