我有一個菜單和一個子菜單。子菜單內容使用ajax加載。JQUERY Toggle和Ajax
子菜單切換。問題是當我點擊隱藏子菜單時,它仍然會進行ajax調用。
我怎樣才能讓它做一個Ajax調用,當我點擊打開菜單?
$("#showsubmenu").live("click", function() {
var attrib = $(this).attr('menuid');
$("#"+attrib).toggle();
$("#"+attrib).html("<h4> Loading links...</h4>");
$.ajax({
cache: false,
url: "submenu.php",
dataType: "html",
data: "&menuid="+attrib,
success: function (data) {
$("#"+attrib).html(data);
},
error: function(jqXHR, textStatus, errorThrown) {
alert(textStatus);
}
});
});
我試過這個,它工作。謝謝!每次菜單打開時我要如何重新加載? – vitalyp
您可以使用.toggleClass(「submenu-loaded」)來代替,如果它不存在,它將添加類,如果它不存在,則將其刪除(但您必須在Ajax調用之外執行此操作)。或者,您可以添加一個'else {$(this).removeClass(「submenu-loaded」); (')測試。重點是如果不存在,則刪除類,如果不存在,則添加它(並進行Ajax調用)。 –
哦,並隨時接受/投票答案,如果你喜歡它;-) –