简体   繁体   中英

Getting undefined value for radio button input

In a form I have following radio button input:

<div class="form-group col-sm-12">
  <div class="radio">
    <label>
      <input type="radio" name="opciones" id="opciones_1" value="Efectivo" checked>Efectivo
    </label>
  </div>
  <div class="radio">
    <label>
      <input type="radio" name="opciones" id="opciones_2" value="Tarjeta">Tarjeta
    </label>
  </div>

I am trying to get the selected value as follows:

var forma_pago = $("#opciones input:radio:checked").val();
alert (forma_pago);

But I am getting as result "Undefined"

what is wrong there?

Your selector is wrong. opciones is name not id . Try like following.

 var forma_pago = $(":radio[name=opciones]:checked").val(); alert(forma_pago); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div class="radio"> <label> <input type="radio" name="opciones" id="opciones_1" value="Efectivo" checked>Efectivo </label> </div> <div class="radio"> <label> <input type="radio" name="opciones" id="opciones_2" value="Tarjeta">Tarjeta </label> </div> 

try this

 var forma_pago = $("input[name=opciones]:checked").val();
    alert (forma_pago);

You do not have an element with the id of opciones . If you still want to be specific, use the attribute equals selector instead:

 var forma_pago = $("input[name='opciones']:radio:checked").val(); console.log(forma_pago); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div class="form-group col-sm-12"> <div class="radio"> <label> <input type="radio" name="opciones" id="opciones_1" value="Efectivo" checked>Efectivo </label> </div> <div class="radio"> <label> <input type="radio" name="opciones" id="opciones_2" value="Tarjeta">Tarjeta </label> </div> 

尝试这个:

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

 alert ($("input[name=opciones]:checked").val()); $("input[name=opciones]").on('click',function() { alert ($(this).val()); }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div class="form-group col-sm-12"> <div class="radio"> <label> <input type="radio" name="opciones" id="opciones_1" value="Efectivo" checked>Efectivo </label> </div> <div class="radio"> <label> <input type="radio" name="opciones" id="opciones_2" value="Tarjeta">Tarjeta </label> </div> 

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM