簡體   English   中英

以編程方式卡死在jQuery Tab中重新加載ajax內容

[英]Stuck reloading ajax content in a jQuery Tab programatically

我對編程非常陌生,所以請原諒我。 我為我的應用程序使用了出色的jQuery選項卡,我通過ajax將外部內容加載到選項卡中,並且在其中一個選項卡中,我需要以編程方式重新加載該選項卡的內容,然后生成結果。 我沒有遵循文檔*。

我已經使用以下命令非常簡單地初始化了根頁面中的選項卡:

使用Javascript:

  $(document).ready(function(){
    $("#tabs").tabs({ cookie: { expires: 30 } });    
  });

HTML:

<div id="tabs">
<ul>
     <li><a href="#moderatorManage"><span>Find and Manage Moderators</span></a></li>
     <li><a href="flaggedCards/" id="flaggedCards" ><span>Flagged Cards</span></a></li>
     <li><a href="pendingDelete/"><span>SinBin / Pending Delete</span></a></li>
</ul>
</div>

您可以看到我加載了“ flaggedCards /”的外部URL,在那里,我有更多具有此功能的jQuery:

    $(document).ready(function(){
        $("#controls_{{id}} input").click(function() {

                $(this).parent().parent().parent().addClass("highlight").fadeTo("slow", 0.1);
                $("#tabs").tabs( 'load' , 0 ); // fails also tried various selectors

        });
 });

我想做的是,在調用該函數時調用flaggedCards選項卡重新加載,但我嘗試了各種不同的語法,但無濟於事。

  • docs.jquery.com/UI/API/1.7.1/Tabs#method-load

我能夠復制您在帖子中報告的完全相同的問題。 這就是我最終解決它的方式。

在托管選項卡的根頁面中,添加以下功能:

function selectTab(index){
 $("#tabs").tabs('load', index);
}

然后在您的外部網址頁面“ flaggedCards /”中,替換為以下行:

$("#tabs").tabs( 'load' , 0 );

有了這個:

selectTab(0);

我不知道為什么這種解決方法能解決問題。 也許這是一個錯誤。

要執行腳本,必須確保ajax請求的數據類型為“ html”-請參見$ .ajax options 為此,請在設置選項卡時嘗試使用選項卡ajaxOptions選項。

$("#tabs").tabs({ cookie: { expires: 30 }, ajaxOptions: {dataType: "html"} });    

另一個問題可能是$(document).ready(function(){可能在通過ajax加載選項卡內容時未觸發。請嘗試將其刪除和相應的} 。當通過ajax加載內容時,希望在評估腳本之前將其插入文檔中。

我沒主意了。 希望有幫助:-)

我應該提到它正在運行它加載的html中的腳本,請參見addclass函數,該函數運行良好,但是運行后,它不會使用我輸入的代碼重新加載選項卡。 我將嘗試添加該數據類型。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM