2

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;
}
4

3 回答 3

3

.html()方法不接受两个参数,它接受一个字符串一个函数,而不是两者。当它接受一个函数时,它不是一个完成回调。

要在设置 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()。)

于 2012-08-14T00:33:05.830 回答
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");
    }

}
于 2012-08-14T00:35:09.853 回答
-3

这段代码是 100% 的工作

$('#myTabContent').html(data);    
afterHTML();

function afterHTML(){           
    $('.unit').change(function(){
        var u=($(this).val()).split('/');
        $('.perunit').html(u[1]);
    });    
}
于 2014-10-02T09:39:08.573 回答