我有一个列表框,并且我正在绑定一个控制器中的项目列表。
$scope.AvailableListItems = [
[{Id:1,SupplierName: 'john.banks'},
{Id: 2,SupplierName: 'jim.chevy'},
{Id: 3,SupplierName: 'ralph.stocks'}]
];
这是硬编码的json。当我用下面的html尝试它时,它工作得非常好。
<select multiple id="availabelist" size="10" style="width:100%" ng-change="OnAvailableChange()" ng-model="SelectedAvailItems" ng-options="i as i.email for i in AvailableListItems[selectFaIndex]| filter:availablequery"></select>
但是,当我试图动态生成相同的东西时,它根本不起作用。获取空白列表框。代码如下所示。
var getSuppliers = function () {
var tempArray = [];
var lstsuppliers = CRUDService.getApiOutput(getSuppliersApiRoute);
lstsuppliers.then(
function (response) {
debugger;
$scope.supplierList = response.data;
for (var i = 0; i < $scope.supplierList.length; i++) {
arr = {};
arr["Id"] = $scope.supplierList[i].supplierId;
arr["SupplierName"] = $scope.supplierList[i].supplierName;
tempArray.push(arr);
}
$scope.AvailableListItems = tempArray;
console.log(JSON.stringify($scope.AvailableListItems));
},
function (error) {
console.log("Error: " + error);
});
}
请帮我找出代码中的问题。
我的响应数据是这样的:基于Claies更新
[{"Id":1,"SupplierName":"ACECO PRECISION MANUFACTURING"},{"Id":2,"SupplierName":"Pentagon EMS Corporation"},{"Id":3,"SupplierName":"QUANTUMCLEAN"},{"Id":4,"SupplierName":"MODERN CERAMICS"},{"Id":5,"SupplierName":"NXEDGE INC"}]
发布于 2018-08-27 10:26:25
在一起休息了几个小时后,终于找到了解决办法。我已经将硬编码和动态值放在了console中。我发现了下面的区别。
我修改过了
$scope.AvailableListItems = tempArray;
至
$scope.AvailableListItems.push(tempArray);
在第14行,它起作用了。在我更改代码后,输出如下所示
特别感谢@Tomas和@Claies。
https://stackoverflow.com/questions/52028994
复制相似问题