我有一个菜单和一个子菜单。子菜单内容使用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调用)。 –
哦,并随时接受/投票答案,如果你喜欢它;-) –