Vraag Hoe weet ik welk keuzerondje via jQuery is geselecteerd?


Ik heb twee keuzerondjes en wil de waarde van de geselecteerde post plaatsen. Hoe krijg ik de waarde met jQuery?

Ik kan ze allemaal zo krijgen:

$("form :radio")

Hoe weet ik welke is geselecteerd?


2289
2018-02-27 19:53


oorsprong


antwoorden:


Om de waarde van de te krijgen gekozen  radioName item van een formulier met id myForm:

$('input[name=radioName]:checked', '#myForm').val()

Hier is een voorbeeld:

$('#myForm input').on('change', function() {
   alert($('input[name=radioName]:checked', '#myForm').val()); 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="myForm">
  <input type="radio" name="radioName" value="1" /> 1 <br />
  <input type="radio" name="radioName" value="2" /> 2 <br />
  <input type="radio" name="radioName" value="3" /> 3 <br />
</form>


3532
2018-02-27 19:58



Gebruik dit..

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

369
2018-01-07 00:45



Als u al een verwijzing naar een keuzerondjesgroep hebt, bijvoorbeeld:

var myRadio = $("input[name=myRadio]");

Gebruik de filter() functie, niet find(). (find() is voor het lokaliseren van onderliggende / afstammelingen, terwijl filter() zoekt elementen op het hoogste niveau in uw selectie.)

var checkedValue = myRadio.filter(":checked").val();

Opmerkingen: Dit antwoord corrigeerde oorspronkelijk een ander antwoord dat aanbevolen was find(), dat sindsdien is veranderd. find() kan nog steeds nuttig zijn voor de situatie waarin u al een verwijzing naar een containerelement had, maar niet naar de keuzerondjes, bijvoorbeeld:

var form = $("#mainForm");
...
var checkedValue = form.find("input[name=myRadio]:checked").val();

256
2018-02-09 18:25



Dit zou moeten werken:

$("input[name='radioName']:checked").val()

Let op de "" gebruikt rond de invoer: gecontroleerd en niet '' zoals de oplossing van Peter J's


118
2018-03-30 22:29



U kunt de: checked selector gebruiken samen met de radio-selector.

 $("form:radio:checked").val();

69
2018-02-27 20:00



Als u alleen de Booleaanse waarde wilt, dat wil zeggen als deze al dan niet is aangevinkt, probeert u dit:

$("#Myradio").is(":checked")

42
2017-08-30 20:27



Koop alle radio's:

var radios = jQuery("input[type='radio']");

Filter om degene te krijgen die is aangevinkt

radios.filter(":checked")

42
2017-09-01 17:55



Een andere optie is:

$('input[name=radioName]:radio:checked').val()

35
2017-09-21 19:35