0
我正在使用jQuery的排序來求助一個列表。這些項目都有編號,所以我希望能夠在度假村之後註明新號碼。最初,我在完成排序後重新加載了頁面。但是,我剛剛「發現」了ajax,發現它是一個潛在更清潔的解決方案。我的代碼幾乎可以工作,除了一個問題。在排序之前首次加載頁面時,會隱藏一堆span標籤;但是,在我做了ajax調用之後,他們變得不被隱瞞,我希望他們保持隱藏。我試過了:等待ajax調用完成
$.ajax({
url: "/main_scripts/sort_chapters_and_sections.php",
type: "POST",
data: newOrder,
success: function(thing_reordered){ $(".inline_link_list").html(thing_reordered);
$("span").each(function(){
if ($(this).attr('class').match(/\bspan_hidden/)){
$(this).hide();
}
});
}
});
但是,通話結束後,我的span_hidden標籤變爲不隱藏。我的猜測是,ajax調用還沒有完成,所以我的「span_hidden」標籤還沒有在瀏覽器中,隨後什麼也沒有隱藏。如果我能理解如何確保ajax調用完成,我可以測試這個理論。任何幫助,將不勝感激。
感謝您的反饋意見;我實際上需要更復雜的版本,因爲它們的形式爲span_hidden_1,span_hidden_2等。無論如何,我不確定「if」聲明有什麼問題... – Eric
我的不好,「if」是好的。你能否進一步解釋ajax調用後span標籤會發生什麼? 「他們不被隱瞞」是什麼意思?他們是相同的標籤還是被替換? – aaaa
不用擔心!基本上,當頁面最初加載時,我的所有「span_hidden」標籤都被隱藏(在$(document).ready(....)後面);如果用戶點擊某些鏈接,它們將被隱藏。隱藏所有內容,然後當我進行ajax調用並重新排列頁面上的某些內容時,「span_hidden」標籤不再隱藏(我在上面的代碼中忽略了一個重要的行,它成功替換了頁面上的一些html 「thing_reordered」)。我的想法是,「thing_reordered」 - 帶有span_hidden標記的html - 還沒有完全加載,因此沒有什麼可以隱藏的。 – Eric