Radio-Button-Änderung sogar nicht feuern

Lesezeit: 2 Minuten

Ich habe dieses HTML, das dynamisch basierend auf Daten aus unserer Datenbank erstellt wurde. Ich versuche, einen Assistenten zu erstellen, damit der Benutzer, wenn er auf ein Optionsfeld klickt, einen Webservice mit Ajax aufrufe und eine weitere Liste mit Optionsfeldern erstelle, aus denen der Benutzer auswählen kann. Das anfängliche Laden der Seite funktioniert gut, aber wenn ich die dynamische Optionsfeldliste erstelle, habe ich dort Probleme mit dem Auslösen von Ereignissen. Muss ich das Dokument oder ein bestimmtes div neu laden, damit dies funktioniert?

Ich möchte das Ereignis “Ändern” abfangen, wenn eines dieser Optionsfelder ausgewählt wird. Die folgende jQuery erfasst das Ereignis nicht. Irgendwelche Vorschläge, was ich falsch mache?

HTML:

<input name="productModel" id="Basic-jacketCustom" type="radio" value="Basic jacket"><label for="Basic-jacketCustom">Basic jacket</label>
<input name="productModel" id="Platinum-jacketCustom" type="radio" value="Platinum jacket"><label for="Platinum-jacketCustom">Platinum jacket</label>
<input name="productModel" id="Platinum-Pro-jacketCustom" type="radio" value="Platinum Pro jacket"><label for="Platinum-Pro-jacketCustom">Platinum Pro jacket</label>
<input name="productModel" id="Riding-jacketCustom" type="radio" value="Riding jacket"><label for="Riding-jacketCustom">Riding jacket</label>

jQuery:

$('input[name="productModel"]').change(function() {    alert("Event
 Fires"); });

  • funktioniert bei mir: jsfiddle.net/yjxs36pq Ihre Benachrichtigung muss vielleicht in derselben Zeile stehen? Um dynamische HTML-Elemente zu erstellen, müssen Sie .on jQuery verwenden api.jquery.com/on

    – 97ldave

    20. Januar 2015 um 14:19 Uhr


Was meinst du mit “dynamisch erstellt”? Schieben Sie die Eingabe nach dem Laden der Seite auf dom? Wenn ja, müssen Sie verwenden Veranstaltungsdelegation. Versuchen Sie folgendes Beispiel:

$('body').on('change', 'input[name="productModel"]', function() {
  alert("Event Fires");
});

  • Das ist die Lösung. Danke, die Tatsache, dass ich Daten nach dem ersten Laden der Seite in den Dom schiebe, war das Problem. Ich weiß Ihre schnelle Antwort zu schätzen und freue mich immer über jeden Rat, den ich hier erhalte.

    – BriceTRrockindale

    20. Januar 2015 um 15:12 Uhr

  • ich benutzte input:radio[name=productModel]:checked hoffe hilft.

    – Shaiju T

    29. September 2016 um 14:08 Uhr

1142720cookie-checkRadio-Button-Änderung sogar nicht feuern

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy