Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Применение библиотек > Подключить элемент после подгрузки AJAX


Автор: Black_leopard 29.7.2010, 12:19
Приветствую!

Использую следующий код для прогрузки radio кнопок на страницу: 
Код

$("#color_base").html('<div align="left"><img src="/images/ajax-loader.gif" width="32" height="32"></div>');            
    $.getJSON('/catalog/card_ajax.php?type=color_base&id='+id, function(data){
         var text = "";
         $.each(data.color_base, function(i,item){
            text += '<input type="radio" name=color_base" value="'+item.id+'">'+item.name+'<br />';
            text += '<img src="'+item.image+'" alt="'+item.name+'" title="'+item.name+'">';
            text += '<br /><br />';
         });
         $("#color_base").html(text);
    });



У меня весит обработчик на click по этим radio кнопкам:
Код

      $("input[name=base_material]").click( function() {
       alert('Yes');
      });


но при клике по этим кнопкам ничего не происходит, создается впечатление что скрипт просто не видит эти элементы, наверно после прогрузки AJAX они не входят в DOM. 

Как можно добиться желаемого эффекта?

Огромное спасибо!

Автор: 12345c 30.7.2010, 01:22
См. http://api.jquery.com/live/

Автор: skyboy 30.7.2010, 02:22
Цитата(Black_leopard @  29.7.2010,  11:19 Найти цитируемый пост)
наверно после прогрузки AJAX они не входят в DOM

нет. наверное, навешивание обработчика клика происходит после "прогрузки AJAX" и создания элементов.
В таком случае, поможет предложенный 12345c метод live()
хотя, я бы навешивал обработчик после обработки ответа по Ajax

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)