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()メソッドは2つのパラメーターを取りません。文字列または関数のいずれかを取り、両方を取りません。そして、それが関数を取るとき、それは完了コールバックではありません。

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()なしまたは1つを取る2番目のパラメーターを指定しています。

最初のコードスニペットの代わりに、この成功バージョンを使用してみてください。

 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");
    }
}

そしてこれは2番目のコードスニペットです:

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 に答える