Angular js在HTTP响应后选择填充列表
angular js select list selected populate after http response
我有一个选择列表,需要根据http响应中的对象默认为某个值:
<select ng-model="isRentVals.cur" ng-options="v for v in isRentVals.values"></select>
响应中的对象名为my_property:
function editPropController($scope, $http) {
$scope.my_property;
$http.get('/api/propertyById/' + $scope.prop_id)
.success(function(properties) {
$scope.my_property = properties[0];
$scope.isRentVals = { "cur" : $scope.my_property.is_rented, "values" : ["true", "false"]};
})
.error(function(err) {
alert('We got an error: ' + err);
});
$http调用的响应将在select元素绑定到isRentVals.cur之后出现。isRentVals还没有定义(将在几毫秒后的成功回调中定义),angular插入一个空val然后绑定。我该如何解决这个问题?
该值默认为空白,我必须重置my_property。
$http调用的响应将在select元素绑定到isRentVals.cur之后出现。因为isRentVals还没有定义(将在几毫秒后的成功回调中定义),所以angular会在select元素中插入一个空项,以便能够绑定到isRentVals.cur的当前值。为了得到更好的答案,你应该创建一个活塞。
像这样初始化isRentVals
:
$scope.isRentVals = {}; //initialize as object
并在数据加载时覆盖模型:
function editPropController($scope, $http) {
$scope.my_property;
$scope.isRentVals = {};
$http.get('/api/propertyById/' + $scope.prop_id)
.success(function(properties) {
$scope.my_property = properties[0];
$scope.isRentVals = { "cur" : $scope.my_property.is_rented, "values" : ["true", "false"]};
})
.error(function(err) {
alert('We got an error: ' + err);
});
相关文章:
- 使用“自动选择”填充表单字段
- 使用Web服务根据对另一个下拉框的选择填充第二个下拉框以获取信息
- jqGrid基于先前的选择填充选择选项
- 根据先前的选择填充单个输入 - MYSQL PHP JS
- jQuery 根据第一个选择菜单中的值选择填充第二个选择菜单
- 根据第二个和第一个下拉列表选择填充第三个下拉列表
- Select2使用ajax和php基于第一个(多个)选择填充第二个字段
- PHP从下拉选择填充文本框
- 使.close选择填充来初始化脚本
- Coldfusion使用ajax(第2部分)通过下拉选择填充表单
- Coldfusion使用ajax通过下拉选择填充表单
- 如何基于第一个选择填充第二个选择菜单,基于第二个填充第三个选择菜单-使用Javascript
- 根据下拉选择填充文本字段
- 基于HTML下拉选择填充输入
- jQuery在选择填充其他字段时自动完成
- 根据另一个下拉列表中的选择填充下拉列表
- 根据html中的复选框选择填充文本框
- 根据一个下拉选择填充多个东西
- 使用AJAX根据选择填充表单字段
- Angular js在HTTP响应后选择填充列表