无法设置未定义angularjs的属性
我有一个json对象s.BdayDetails,我想将s.BdayDetails.ProvID的值更改为另一个值无法设置未定义angularjs的属性,angularjs,Angularjs,我有一个json对象s.BdayDetails,我想将s.BdayDetails.ProvID的值更改为另一个值 for(var i=0;i您可以尝试下面的代码来实现与您描述的相同的功能。请检查示例代码实现 控制器: for(var i=0;i<s.BdayDetails.length;i++){ function(index){ h.post("../Event/getProvinceName?ProvID=" + s.BdayDetails[i].ProvID)
for(var i=0;i您可以尝试下面的代码来实现与您描述的相同的功能。请检查示例代码实现
控制器:
for(var i=0;i<s.BdayDetails.length;i++){
function(index){
h.post("../Event/getProvinceName?ProvID=" + s.BdayDetails[i].ProvID).then(function (r) {
s.BdayDetails[index].ProvID = r.data.toString();
})
})(i);
}
}
var s={
B日期详情:[{
提供:“001”,
ProvName:'卡纳塔克邦'
},{
提供:“002”,
ProvName:'果阿'
}]
};
var-indx=0;
函数nextProvince(){
if(indx
试试这个
for(var i=0;iIt是s.BdayDetails[i]。提供的是未定义的。这与r无关。似乎您在for循环内部执行多个异步AJAX请求。您应该避免这样的多个AJAX,并编写逻辑,以便您可以对一个AJAX调用执行相同的操作。如何操作?很抱歉,我不熟悉这一点:(当异步AJAX完成时,i
的值不可用。我很困惑,哈哈哈:谢谢
var s ={
BdayDetails: [{
ProvID: '001',
ProvName: 'KARNATAKA'
},{
ProvID: '002',
ProvName: 'GOA'
}]
};
var indx = 0;
function nextProvince(){
if(indx < s.BdayDetails.length){
$http.post("../Event/getProvinceName?ProvID=" + s.BdayDetails[indx].ProvID).then(function (r) {
s.BdayDetails[indx].ProvID = r.data.toString();
indx++;
nextProvince();
});
}else{
indx=0;
}
}
nextProvince();
for(var i=0;i<s.BdayDetails.length;i++){
function(index){
h.post("../Event/getProvinceName?ProvID=" + s.BdayDetails[i].ProvID).then(function (r) {
s.BdayDetails[index].ProvID = r.data.toString();
})
})(i);
}
}