[英]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選項卡重新加載,但我嘗試了各種不同的語法,但無濟於事。
我能夠復制您在帖子中報告的完全相同的問題。 這就是我最終解決它的方式。
在托管選項卡的根頁面中,添加以下功能:
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.