wybranie elementów dom po wstawieniu html na stronę z ajaxem
Stworzyłem nawigację w zakładce Ajax z kodem HTML wstawionym na stronę. kod wygląda następująco:
$.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 ... więc dodaję moje znaczniki do mojego html. Teraz muszę wybrać dom elementu z wstawionego html, ale nie mogę. Mam następujący kod:
[url="javascript:;" class="light-button">Next[/url]
<select id="chapters-select">
<?php foreach ($chapters as $chapter) : ?>
<option value="<?php echo $chapter->id; ?>"><?php echo $chapter->title; ?></option>
<?php endforeach; ?>
</select>
Tutaj dynamicznie generuję parametry selekcji. Kiedy próbuję to zrobić:
$('#chapters-select').change(function(){
alert('changed');
});
to nie działa.
Jak mogę używać javascript po dodaniu html przez ajax?
Nie znaleziono powiązanych wyników
Zaproszony:
Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się
2 odpowiedzi
Anonimowy użytkownik
Potwierdzenie od:
Aby uzyskać lepszą wydajność, zamiast , napisz najbliższy statyczny (nie dodany dynamiczny element z ajax lub javascript) zawierający „ Jeśli używasz starszej wersji , wybierz odpowiednią metodę z poniższej tabeli:
dokumenty
http://api.jquery.com/on/
:
Gdy podano selektor, mówi się, że procedura obsługi zdarzeń jest delegowana. Procedura obsługi nie jest wywoływana, gdy zdarzenie występuje bezpośrednio w skojarzonym elemencie, ale tylko w przypadku elementów podrzędnych (elementów wewnętrznych), które pasują do selektora. jQuery przesyła zdarzenie z miejsca docelowego zdarzenia do elementu, do którego jest dołączona procedura obsługi (tj. z elementu najbardziej wewnętrznego do najbardziej zewnętrznego) i odpala procedurę obsługi dla wszystkich elementów wzdłuż tej ścieżki, które pasują do selektora.
Procedury obsługi zdarzeń są powiązane tylko z aktualnie wybranymi elementami; one
musi istnieć na stronie w momencie wywołania kodu .on ().
Aby upewnić się, że elementy są obecne i można je wybrać, uruchom
powiązanie zdarzeń wewnątrz procedury obsługi gotowej do dokumentu dla elementów znajdujących się w
Znaczniki HTML na stronie. Jeśli do strony zostanie wstawiony nowy kod HTML,
wybierz elementy i dołącz programy obsługi zdarzeń po utworzeniu nowego kodu HTML
umieszczone na stronie. Lub użyj delegowanych zdarzeń, aby dołączyć procedurę obsługi zdarzeń
jak opisane poniżej.
Anonimowy użytkownik
Potwierdzenie od:
Jest to równoważne z odpowiedzią @ gdoron, ale zgodne z wersjami jQuery starszymi niż 1.7