2016-07-09 2 views
2

У меня есть сгенерированный HTML по строкам этого.Как захватить выбранное значение радиобазы из конкретной формы?

<form id="form_56"> 
 
    <input type="radio" name="option" value="0"> 
 
    <input type="radio" name="option" value="1"> 
 
    <input type="radio" name="option" value="2"> 
 
    <input type="radio" name="option" value="3"> 
 
    <input type="radio" name="option" value="4"> 
 
    <input type="radio" name="option" value="5"> 
 
    <input type="radio" name="option" value="6"> 
 
</form>

Форма идентификатор может быть что угодно, но я хочу, чтобы принять форму идентификатор и возвращает выбранное значение от 0 до 6.

Я попытался следующие вопросы здесь, но они, похоже, не легко переводились в конкретную форму.

$('#form_56:radio[name=option]:checked').val();

Я могу использовать селектор, чтобы захватить правильную форму, но все, что я пытался получить выбранное значение возвращается неопределенным.

Спасибо за ваше время.

ответ

1

Во-первых, вам нужно изменить двоеточие на пробел или «>».

Во-вторых, вам необходимо изменить радиоприемник на вход.

$('#form_56 input[name=option]:checked').val(); 

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<form id="form_56"> 
 
    <input type="radio" name="option" value="0"> 
 
    <input type="radio" name="option" value="1"> 
 
    <input type="radio" name="option" value="2"> 
 
    <input type="radio" name="option" value="3"> 
 
    <input type="radio" name="option" value="4"> 
 
    <input type="radio" name="option" value="5"> 
 
    <input type="radio" name="option" value="6"> 
 
</form> 
 

 
<a href="javascript:console.log($('#form_56 input[name=option]:checked').val());"> 
 
    <button>Test</button> 
 
</a>

1
$("#form_56 input:radio[name='option']").val() 

Вам нужно событие для прослушивания, когда он меняет см пример

$(function() { 

    $("#form_56 input:radio[name='option']").click(function() { 
    var val = $(this).val(); 
    alert(val); 
    }); 


}); 

https://jsfiddle.net/rodrigo/cp8rd7h0/

+0

Я подведение это все в конце; Событие было бы совершенно неуместным. –

1

Для любой формы:

$('form>input[type="radio"]:checked').val() 

С ID:

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

Она возвращает выбранное значение или неопределенным, если не выбрано ни одного значения. Удачи!

function getSelectedValue() 
 
{ 
 
    return $('form>input[type="radio"]:checked').val(); 
 
} 
 
$(function() { 
 
    $('button').on(
 
    'click', 
 
    function() { 
 
     console.log(getSelectedValue() + ' selected'); 
 
    } 
 
); 
 
});
form {display: inline}
<script src="https://code.jquery.com/jquery-3.0.0.min.js"></script> 
 
<form id="randomId-839054763"> 
 
<input type="radio" name="option" value="0"> 
 
<input type="radio" name="option" value="1"> 
 
<input type="radio" name="option" value="2"> 
 
<input type="radio" name="option" value="3"> 
 
<input type="radio" name="option" value="4"> 
 
<input type="radio" name="option" value="5"> 
 
<input type="radio" name="option" value="6"> 
 
</form> 
 
<button>Log value</button>

1

проблема в вашем коде: на событии изменения не назначить кнопку радио так неопределенному оповещение всплывающего окно

здесь решение:

$(document).ready(function() { 
      $('input[type=radio]').on('change', function() { 
       alert($('input[name=option]:checked', '#form_56').val()); 

      }); 
     }); 
Смежные вопросы