Ich habe folgende HTML / jQuery:
%Vor% Wenn mein Optionsfeld rb2
nicht ausgewählt ist, indem Sie rb1 auswählen, wird das Änderungsereignis nicht ausgelöst. Warum ist das? Ist es möglich, dass dies funktioniert, ohne meinen Selektor so zu ändern, dass er mit beiden Eingaben übereinstimmt und dann die ID betrachtet?
Geige: Ссылка
Das Änderungsereignis wird nur gesendet, wenn Sie das Element selbst ändern. Wenn Sie auf das andere Radio klicken, ändern Sie es nicht. Eine Lösung wäre, das Änderungsereignis an jedem Eingang zu beobachten: Radio, dann überprüfe einfach den Status des entsprechenden Optionsfelds:
%Vor%Achten Sie auf jeden Eingang, der sich auf Ihre Gruppe von Funkgeräten bezieht, auf Änderung, und prüfen Sie dann, ob eine bestimmte ausgewählt ist.
%Vor% Sie können eine "Änderung" an Optionsfeldern aus derselben Gruppe künstlich auslösen, so dass der ursprüngliche gebundene Handler abgeholt und "nicht markiert" ausgegeben wird. Der Trick besteht darin, zu vermeiden, in einer Endlosschleife stecken zu bleiben, indem das Ereignis rekursiv erneut ausgelöst wird. Dies können wir vermeiden, indem wir künstliche Ereignisse ignorieren, denen die Eigenschaft originalEvent
fehlt:
Dieser Code funktioniert, wenn er oben auf Ihrem aktuellen Handler hinzugefügt wird und erfüllt, ohne meinen Selektor so zu ändern, dass er beiden Eingaben entspricht und dann die ID -Kriterien betrachtet;)
Ich bin vor ein paar Tagen auf dieses Problem gestoßen. Anstatt auf einen individuellen Klick auf einen Radioknopf zu warten, höre ich auf einen Klick auf den <ul>
, in dem ich sie habe, und rufe dann diese Funktion auf, um zu prüfen, ob eine ausgewählt wurde.
Tags und Links javascript html jquery