812 Stimmen

jQuery liefert den Wert der ausgewählten Optionsschaltfläche

Die Problemstellung ist einfach. Ich muss sehen, ob der Benutzer ein Optionsfeld aus einer Optionsgruppe ausgewählt hat. Jede Optionsschaltfläche in der Gruppe teilen gleiche id.

Das Problem ist, dass ich keine Kontrolle darüber habe, wie das Formular erstellt wird. Hier ist der Beispielcode, wie ein Radio-Button-Steuerungscode 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 >

Wenn ein Optionsfeld ausgewählt wird, wird dem Steuerelement außerdem kein Attribut "checked" hinzugefügt, sondern nur Text geprüft (Ich vermute, dass nur die Eigenschaft ohne Wert geprüft wird) . Nachfolgend 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 jemand mir mit jQuery-Code helfen, die mir helfen können, um den Wert der überprüften Schaltfläche Radio zu erhalten?

4voto

Dieses einfache Thema lässt sich am besten anhand eines einfachen Beispiels und eines Verweises erläutern:-

Im folgenden Beispiel haben wir zwei Optionsfelder. Wenn der Benutzer ein Optionsfeld auswählt, wird der Wert des ausgewählten Optionsfelds in einem Warnfeld angezeigt.

Html:

<form id="Demo">
<input type="radio" name="Gender" value="Male" /> Male <br />
<input type="radio" name="Gender" value="Female" /> Female<br />
<input type="radio" name="Gender" value="others" /> others <br />
</form>

jquery:-

 $(document).ready(function(){
        $('#Demo input').on('change', function() {
            alert($('input[name="Gender"]:checked', '#Demo').val());
        });
    });

3voto

Badal Punkte 31
<div id="subscriptions">
 Company Suscription: <input type="radio" name="subsrad" value="1">
 Customer Subscription:<input type="radio" name="subsrad" value="2">
 Manully Set:<input type="radio" name="subsrad" value="MANUAL">
 NO Subscription:<input type="radio" name="subsrad" value="0">
 </div>

und behandeln jquery für alert als für den Wert gesetzt / geändert durch div id:

$("#subscriptions input") // select the radio by its id
    .on('change', function(){ // bind a function to the change event
    alert($('input[name="subsrad"]:checked', '#subscriptions').val());
            });

es ist so einfach....:-}

2voto

alixcol Punkte 59

Multigruppen-Radioknopf Wert in Array umwandeln

var arr = [];
    function r(n) {

        var section = $('input:radio[name="' + n + '"]:checked').val();
        arr[n] = section;

        console.log(arr)
    }

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="radio" onchange="r('b1')" class="radioID" name="b1" value="1">1
<input type="radio" onchange="r('b1')"  class="radioID" name="b1" value="2"  >2
<input type="radio" onchange="r('b1')"   class="radioID" name="b1" value="3">3

<br>

<input type="radio" onchange="r('b2')" class="radioID2" name="b2" value="4">4
<input type="radio" onchange="r('b2')"  class="radioID2" name="b2" value="5"  >5
<input type="radio" onchange="r('b2')"   class="radioID2" name="b2" value="6">6

2voto

Mohan Punkte 637

Hier sind 2 Optionsfelder, nämlich rd1 und Radio1

<input type="radio" name="rd" id="rd1" />
<input type="radio" name="rd" id="Radio1" /> 

Der einfachste Weg, um zu überprüfen, welche Optionsschaltfläche aktiviert ist, indem man die individuelle Eigenschaft is(":checked") überprüft

if ($("#rd1").is(":checked")) {
      alert("rd1 checked");
   }
 else {
      alert("rd1 not checked");
   }

2voto

Yusuf Uzun Punkte 1461

Ich bin nicht ein javascript Person, aber ich fand hier für die Suche dieses Problem. Für die, die es googeln und hier finden, hoffe ich, dass dies einigen hilft. Also, wie in Frage, wenn wir eine Liste von Optionsfeldern haben:

<div class="list">
    <input type="radio" name="b1" value="1">
    <input type="radio" name="b2" value="2" checked="checked">
    <input type="radio" name="b3" value="3">
</div>

Mit diesem Selektor kann ich herausfinden, welcher ausgewählt wurde:

$('.list input[type="radio"]:checked:first').val();

Auch wenn kein Element ausgewählt ist, bekomme ich keinen undefinierten Fehler. Sie müssen also keine zusätzliche if-Anweisung schreiben, bevor Sie den Wert des Elements übernehmen.

Hier ist sehr grundlegend jsfiddle-Beispiel .

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X