在GrabOldMessages()
运行后无法运行html()
函数。以下是我的代码。使用jQuery版本1.7.2,我想我正确地调用它,我忽略了什么?请帮我找出错误。如果您需要我提供更多信息,请告诉我。感谢您抽出宝贵时间来帮助我。
//GRAB NEW MESSAGES
function GrabNewMessages(){
var doIB = encodeURIComponent("GET_DATA");
$.ajax({
type: 'POST', url: 'app/pull_data_files/inbox_NM_array.php', dataType: "json", data: { getInbox: doIB },
success: function(inbox_NM_data) {
if(inbox_NM_data[1] == 'true'){$('#inbox_NMlist_html').html(inbox_NM_data[0], function(){ GrabOldMessages(); });}
else{alert("Didn't work");}
}
});
return false;
}
//GRAB OLD MESSAGES
function GrabOldMessages(){
var doIB = encodeURIComponent("GET_DATA");
$.ajax({
type: 'POST', url: 'app/pull_data_files/inbox_OM_array.php', dataType: "json", data: { getInbox: doIB },
success: function(inbox_OM_data) {
if(inbox_OM_data[1] == 'true'){$('#inbox_OMlist_html').html(inbox_OM_data[0], function(){GoToInbox();});}
else{alert("Didn't work");}
}
});
return false;
}
答案 0 :(得分:3)
.html()
method不带两个参数, 字符串或函数,而不是两者。当它需要一个函数时,它不是一个完成回调。
要在设置html后运行一个函数,只需在下一行调用该函数,所以更改:
success: function(inbox_NM_data) {
if(inbox_NM_data[1] == 'true'){
$('#inbox_NMlist_html').html(inbox_NM_data[0], function(){ GrabOldMessages(); });
} else{
alert("Didn't work");}
}
要:
success: function(inbox_NM_data) {
if(inbox_NM_data[1] == 'true'){
$('#inbox_NMlist_html').html(inbox_NM_data[0]);
GrabOldMessages();
} else{
alert("Didn't work");}
}
(在GrabOldMessages()
函数中类似。)
答案 1 :(得分:2)
您正在html()
中指定第二个参数,该参数可以是无或一个。
尝试使用此成功版本代替您的第一个代码段。
success: function(inbox_NM_data) {
if (inbox_NM_data[1] == 'true') {
$('#inbox_NMlist_html').html(inbox_NM_data[0]);
GrabOldMessages();
}
else {
alert("Didn't work");
}
}
这是第二个代码段:
success: function(inbox_OM_data) {
if (inbox_OM_data[1] == 'true') {
$('#inbox_OMlist_html').html(inbox_OM_data[0]);
GoToInbox();
}
else {
alert("Didn't work");
}
}
答案 2 :(得分:-3)
此代码100%正常工作
$('#myTabContent').html(data);
afterHTML();
function afterHTML(){
$('.unit').change(function(){
var u=($(this).val()).split('/');
$('.perunit').html(u[1]);
});
}