Die Problemstellung ist einfach. Ich muss sehen, ob der Benutzer ein Optionsfeld aus einer Optionsgruppe ausgewählt hat. Jedes Optionsfeld in der Gruppe hat dieselbe ID.
Das Problem ist, dass ich keine Kontrolle darüber habe, wie das Formular generiert wird. Hier ist der Beispielcode, wie ein Optionsfeld-Steuercode aussieht:
<input type="radio" name='s_2_1_6_0' value='Mail copy to my bill to address' id = "InvCopyRadio" onchange = 'SWESubmitForm(document.SWEForm2_0,s_4,"","1-DPWJJF")' style="height:20;width:25" tabindex=1997 >
Zusätzlich dazu , wenn ein Optionsfeld ausgewählt ist es keine „geprüft“ Attribut an die Steuerung nur Text fügt geprüft (ich denke , gerade die Eigenschaft , ohne einen Wert geprüft) . Im Folgenden sehen Sie, wie eine ausgewählte Funksteuerung aussieht
<input type="radio" checked name='s_2_1_6_0' value='Mail copy to my bill to address' id = "InvCopyRadio" onchange = 'SWESubmitForm(document.SWEForm2_0,s_4,"","1-DPWJJF")' style="height:20;width:25" tabindex=1997 >
Kann mir jemand mit jQuery-Code helfen, der mir helfen kann, den Wert des aktivierten Optionsfelds zu ermitteln?
jquery
radio-button
siebel
user1114212
quelle
quelle
Antworten:
Benutz einfach.
So einfach ist das.
quelle
null
ist logisch, kann Sie jedoch manchmal verwirren, wenn Sie es gewohnt sind,""
den Standardwert über den.val()
Anruf anzuzeigen.Erstens können Sie nicht mehrere Elemente mit derselben ID haben. Ich weiß, dass Sie gesagt haben, Sie können nicht steuern, wie das Formular erstellt wird, aber ... versuchen Sie irgendwie, alle IDs aus den Radios zu entfernen oder sie eindeutig zu machen.
Um den Wert des ausgewählten Optionsfelds abzurufen, wählen Sie ihn mit dem
:checked
Filter nach Namen aus .BEARBEITEN
Sie haben also keine Kontrolle über die Namen. In diesem Fall würde ich sagen, setzen Sie diese Optionsfelder alle in ein div, das beispielsweise benannt ist,
radioDiv
und ändern Sie dann Ihren Selektor leicht:quelle
Der einfachste Weg, um den Wert des ausgewählten Optionsfelds zu erhalten, ist folgender:
Zwischen dem Selektor darf kein Leerzeichen verwendet werden.
quelle
Stellen Sie sicher, dass Sie dies in die DOM-Bereitschaftsfunktion (
$(function(){...});
oder$(document).ready(function(){...});
) einschließen .quelle
radioID
die ID geändert ?:checked
..is(":checked")
. Dieis()
Funktion von jQuery gibt einen Booleschen Wert (true oder false) und kein Element zurück.quelle
Dies gibt den aktivierten Optionsfeldwert zurück.
quelle
für verschachtelte Attribute
Vergessen Sie nicht einzelne Klammern für den Namen
quelle
Holen Sie sich alle Radios:
Filtern Sie, um die überprüfte zu erhalten
ODER
Auf andere Weise können Sie den Wert des Optionsfelds ermitteln
quelle
$('[name=your_inputs_names]:checked').val()
weil sie immer den gleichen eindeutigen Namen haben.filter()
.filter()
. Ich wünschte, diese Antwort könnte ganz oben stehen.Verwenden Sie RadioButtonName und die Formular-ID, die den RadioButton enthält, um den Wert des ausgewählten Optionsfelds abzurufen.
ODER nur von
quelle
quelle
Im Folgenden finden Sie ein Arbeitsbeispiel mit einer Sammlung von Funkgruppen, die jeweils unterschiedlichen Abschnitten zugeordnet sind. Ihr Namensschema ist wichtig, aber im Idealfall sollten Sie trotzdem versuchen, ein konsistentes Namensschema für Eingaben zu verwenden (insbesondere, wenn sie sich in Abschnitten wie hier befinden).
quelle
Verwenden Sie den folgenden Code
Bitte beachten Sie, dass das Wertattribut definiert werden sollte, damit Ihr Ergebnis "Männlich" oder "Weiblich" enthält.
quelle
Versuchen Sie dies anhand eines Beispiels
quelle
Nur nach Namen
quelle
quelle
undefined
wenn Sie sicher sind, dass der Wert sein musschecked
? In jQuery ist dies nicht erforderlich."undefined"
erforderlich ist.Ich hoffe das wird helfen.
quelle
Der beste Weg, um dieses einfache Thema zu erklären, besteht darin, ein einfaches Beispiel und einen Referenzlink anzugeben: -
Html:
jquery: -
quelle
Ich weiß, dass ich so spät dazukomme. Aber es ist erwähnenswert, dass es braucht
Und dann habe ich das in meinem js überprüft. Es könnte so sein
`
quelle
und behandeln Sie jquery for alert wie für den Wert, der durch div id gesetzt / geändert wurde:
Es ist so einfach....:-}
quelle
Ein weiterer einfacher Weg zu verstehen ... Es funktioniert:
HTML Quelltext:
Jquery Code:
quelle
Optionsfeld für mehrere Gruppen verdeckter Wert für Array
quelle
Ich bin keine Javascript-Person, aber ich habe hier gefunden, um dieses Problem zu suchen. Für diejenigen, die es googeln und hier finden, hoffe ich, dass dies einigen hilft. Also, wie in Frage, wenn wir eine Liste von Optionsfeldern haben:
Ich kann finden, welche mit diesem Selektor ausgewählt wurde:
Auch wenn kein Element ausgewählt ist, wird immer noch kein undefinierter Fehler angezeigt. Sie müssen also keine zusätzliche if-Anweisung schreiben, bevor Sie den Wert des Elements übernehmen.
Hier ist ein sehr einfaches Beispiel für jsfiddle .
quelle
Hier sind 2 Optionsfelder, nämlich rd1 und Radio1
Der einfachste Weg, um zu überprüfen, welches Optionsfeld aktiviert ist, indem Sie eine einzelne Person überprüfen, ist die Eigenschaft (": checked")
quelle
Auch
input
ist nicht notwendig, wie in anderen Antworten vorgeschlagen. Der folgende Code kann ebenfalls verwendet werden:quelle
input
und mit unnötigen Anführungszeichen.quelle
quelle
Falls Sie den spezifischen Namen nicht kennen oder alle Funkeingänge in einem Formular überprüfen möchten, können Sie mit einer globalen Variable den Wert für jede Funkgruppe nur einmal überprüfen: `
quelle