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, время: 06:54. |