2010-11-30 9 views
0

次の問題があります。私はjQueryでdinamicallyタブロードのセットをロードしようとしています。 新しいコンテンツ(POST経由)を取得すると、tabs()関数は中断し、 タブを構築しません。私は、この機能を使用しています:ajaxとjqueryの準備状態の問題

$(document).ready(function() { 
    var array_with_alias_id = $.getJSON("/getAliasForMatchAll/", null, 
     function (data){ 
      array = data.aliases_id; 
      load(array); 
     }); 
    $("#next_left").click(function(){next_left()}); 

    //load(array_with_alias_id); 
}); 



function next_left(){ 
    if(j >= array.length-1){ 
     var l = j 
    } else { 
     var l = j+=1; 
    } 
    $("#alias_id_left").val(list_left[l]); 
    $("#merge_alias_id_left").val(list_left[l]); 
    $.post("/visor/",{"alias_id":list_left[l],"position":"L"}, 
      function(data){ 
       $("#tabsL").html(data).ready(function(){ 
        $("#tabsL").tabs(); 
       }); 
      }); 
} 

私は私の問題は、AJAX問題であることを考えると、私は[0]これを読んでいる、 しかし、私は解決策を与えることはできません。 関数next_left()は1回だけ動作します。私は のためのドキュメントは準備ができていると思うが、私はそれをdo30の仕事を (私はそのタブを呼び出すメソッドを中止すると思うので、firebugの のhtmlを参照してください。

ヒント?

[0] http://docs.jquery.com/Tutorials:AJAX_and_Events

答えて

0

IRCの人々が私を助けました。 は、私は今これに.POST後に機能を変更しました:

function next_left(){ 
    if(j >= array.length-1) { 
     var l = j 
    } 

    else { 
     var l = j+=1; 
    } 

    $("#alias_id_left").val(list_left[l]); 
    $("#merge_alias_id_left").val(list_left[l]); 
    $.post("/visor/",{"alias_id":list_left[l],"position":"L"}, 

    function(data) { 
     $("#tabsL").html(data).tabs("destroy").tabs();     
    }); 
} 

彼らが正しくレディ機能は、文書に適用され、私はそれを使用してどのように動作しないことを私に助言しました。私がここに掲載した固定コードが他の人に役立つことを願っています。

1

$( "#1 next_left")を交換してください(関数(){next_left()})をクリック。と:

$("#next_left").live('click', function(){next_left()}); 
+0

私はそれが助けるべきだと思います。 –

+0

ありがとうございましたニックG、それは動作しません:-( 他のヒントは、してください。 – rfrp