点击Accordian我正在进行ajax调用并将数据附加到手风琴内容
如果没有ajax调用,accoridian工作正常,请在这里查看jsfiddle(withOut ajax call)
http://jsfiddle.net/CzE3q/1145/
但是当我将ajax与手风琴融为一体时,手风琴就没有打开
http://jsfiddle.net/CzE3q/1144/
这是我的代码
$(function() {
$('#accordion .content').hide();
$('#accordion h2').click(function() {
var clcikedid = $(this).attr('id');
var ajaxcall = $.ajax({
url: 'test',
success: function(data) {
alert('ajx call completed');
}
});
ajaxcall.done(function() {
if ($(this).next().is(':hidden')) {
$('#accordion h2').removeClass('active').next().slideUp('slow');
$(this).toggleClass('active').next().slideDown('slow');
}
});
});
});
你能告诉我如何解决这个问题吗?
答案 0 :(得分:1)
您不必在完成功能中使用this
:
if ($('#' + clcikedid).next().is(':hidden')) {
$('#accordion h2').removeClass('active').next().slideUp('slow');
$('#' + clcikedid).toggleClass('active').next().slideDown('slow');
}
您已在clcikedid
中保存了ID。我用它来解决问题。 this
的价值不是你的方面。它是ajax调用对象。