Я создал навигационную панель ajax с вставкой html на страницу. код выглядит так:Выбор элементов dom после того, как html был вставлен на страницу с ajax
$.ajax({
type: 'POST',
url: 'main/ajaxjson/load_course_details',
data: {page : which, course_id: id},
success: function(home){
$('#ajax-content ').hide();
$('#ajax-content').empty().append(home);
$('#ajax-content').fadeIn();
}
});
ok ... поэтому я добавляю свою разметку в свой html. Теперь мне нужно выбрать элементы dom из вставленного html, но я не могу. У меня есть следующий код:
<a href="javascript:;" class="light-button">Next</a>
<select id="chapters-select">
<?php foreach ($chapters as $chapter) : ?>
<option value="<?php echo $chapter->id; ?>"><?php echo $chapter->title; ?></option>
<?php endforeach; ?>
</select>
Здесь я генерирую параметры выбора динамически. Когда я пытаюсь сделать это:
$('#chapters-select').change(function(){
alert('changed');
});
не работает. Как я могу использовать javascript после добавления html через ajax?
Кажется, работает хорошо для меня: http://jsfiddle.net/fyg6m/ Где вы связывании событие обработчик? –
@FelixKling. Он написал, что добавляет контент с помощью 'ajax', поэтому это должно быть проблема с событием делегата. – gdoron
@gdoron: Возможно, но это означало бы, что элементы выбраны * перед *, они были вставлены через Ajax, что противоречит названию. Тем не менее, я согласен с вами. –