jQuery - проблема с выбором элемента
Добрый день!
Есть скрипт аккордеона, который при нажатии на заголовок элемента аккордеона подгружает из базы данных информацию, которая отображается на раскрывшейся панели. Проблема в том, что я не могу загрузить полученную инфу в аккордеон. Код такой: <h2 class="acc_trigger_l" id="11"><a href="#">Заголовок1</a></h2> <div class="acc_container" style="display: none;" id="vova">Сюда надо вставлять инфу из базы</div> и проблемный кусок кода: $('.acc_trigger_l').click(function(){ var id = $(this).attr('id'); var idd = $(this).next().attr('id'); // здесь idd=vova, то есть адресация через next() правильная //alert( idd ); ////////////// $.ajax({ type: "POST", url: "loader.php", data: "id="+id, success: function(data) { $(this).next().html(data); //А вот это не почему-то работает //$('#vova').html(data); //А так работает! } }); Дело в том, что я не могу ссылаться на целевой див по его Id, например, так как этих дивов много, надо на него сослаться именно как на первый див после заголовка элемента аккордеона, выполненного как <h2 class="acc_trigger_l> |
$('.acc_trigger_l').click(function(){ var id = $(this).attr('id'); var elem = $(this); var idd = $(this).next().attr('id'); // здесь idd=vova, то есть адресация через next() правильная //alert( idd ); ////////////// $.ajax({ type: "POST", url: "loader.php", data: "id="+id, success: function(data) { elem.next().html(data); //А вот это не почему-то работает //$('#vova').html(data); //А так работает! } }); |
Большое спасибо!!
А можете пояснить, почему так? Почему напрямую через $(this).next не работает? |
|
Ясно, спасибо!
|
А вот еще вопрос возник: как можно сделать, чтобы отобразить индикатор загрузки на время работы loader.php?
|
Перед вызовом ajaxa показываете рисунок или надпись, а в success скрывайте
|
Цитата:
$('#button_sel').click(function(){ var year = $('#sel_year').val(); var month = $('#sel_month').val(); [B]$('#proc').addClass('load1');[/B] $.ajax({ type: "POST", url: "posts_request.php", data: "_year="+year+"&_month="+month+"&_edit="+edit, success: function(data) { $(".scrolling_s").html(data); $('#list tr:odd').addClass('odd'); $('#list tr:even').addClass('even'); [B]$('#proc').removeClass('load1');[/B] } }); return false; }); Класс load1: .load1 {background:url(/images/ajax-loader1.gif) left no-repeat;} ajax-loader1.gif - анимированная гифка. Но проблема в том, что гифка появляется, но анимация не работает, пока не закончится работа posts_request.php То есть в итоге показалась статичная гифка, скрылась - и все. Как бы это победить? |
Часовой пояс GMT +3, время: 08:00. |