Подтвердить что ты не робот

JQuery: Как получить выбранное значение переключателя?

Как мне по умолчанию установить значение не выбранной радиокнопки на 0?

У меня есть следующий HTML:

<input type="radio" name="myradiobutton" value="1" />1
<input type="radio" name="myradiobutton" value="2" />2
<input type="radio" name="myradiobutton" value="3" />3

И у меня есть следующий код, чтобы получить значение переключателя selected

var radio_button_value $('input[name=myradiobutton]:radio').click(function() {var value = $(this).val();});

Проблема в том, что я хочу по умолчанию использовать значение radio_button_value - 0 в случае, если выбрано ничего. Как это сделать?

В основном я хочу сделать pseduo-код ниже (но это не работает)

var radio_button_value $('input[name=myradiobutton]:radio').click(function() { 
if set
  return $(this).val();
else
  return 0;
});

UPDATE

Кажется, есть путаница в том, что я прошу.

Что я хочу делать, когда страница загружается (до того, как пользователь имел возможность даже выбрать радиокнопку), мне нужна функция, которая вернет 0 для значения переключателя.

Затем, как только пользователь выберет радиокнопку, эта функция SAME вернет выбранное значение переключателя.

Имеют смысл?

4b9b3361

Ответ 1

$('input[name=myradiobutton]:radio:checked') вы получите выбранный переключатель $('input[name=myradiobutton]:radio:not(:checked)') предоставит вам невыделенные переключатели

Используя это, вы можете сделать это

$('input[name=myradiobutton]:radio:not(:checked)').val("0");

Обновление:. Прочитав ваше обновление, я думаю, что понимаю Вы захотите сделать что-то вроде этого

var myRadioValue;

function radioValue(jqRadioButton){
  if (jqRadioButton.length) {
    myRadioValue = jqRadioButton.val();
  }
  else {
    myRadioValue = 0;
  }
}

$(document).ready(function () {
  $('input[name=myradiobutton]:radio').click(function () {   //Hook the click event for selected elements
    radioValue($('input[name=myradiobutton]:radio:checked'));
  });

  radioValue($('input[name=myradiobutton]:radio:checked')); //check for value on page load
});

Ответ 2

Используйте : checked, чтобы определить, выбрано ли значение:

function getRadioValue () {
    if( $('input[name=myradiobutton]:radio:checked').length > 0 ) {
        return $('input[name=myradiobutton]:radio:checked').val();
    }
    else {
        return 0;
    }
}

Обновить вы можете вызвать функцию выше в любое время, чтобы получить выбранное значение переключателей. Вы можете подключиться к нему при загрузке, а затем всякий раз, когда значение изменяется со следующими событиями:

$(document).ready( function() {
    // Value when you load the page for the first time
    // Will return 0 the first time it called
    var radio_button_value = getRadioValue();

    $('input[name=myradiobutton]:radio').click( function() {
        // Will get the newly selected value
        radio_button_value = getRadioValue();
    });
}

Ответ 3

Он начнется, как только загрузится страница. Вы можете сохранить его под некоторыми событиями, например, нажатием кнопки

$("#btn").click(function() { 
var val= $('input[type="radio"]:checked').val();
});

Ответ 4

jQuery("input:radio[name=myradiobutton]:checked").val();

Ответ 5

Вероятно, лучший способ (особенно если вы хотите опубликовать значение по умолчанию), будет иметь скрытую радиокнопку, которая запускается как выбранная и имеет значение по умолчанию. Так что-то вроде этого:

<input type="radio" name="myradiobutton" value="0" checked="checked" style="display:none;" />
<input type="radio" name="myradiobutton" value="1" />1
<input type="radio" name="myradiobutton" value="2" />2
<input type="radio" name="myradiobutton" value="3" />3

Если вы не можете напрямую изменить свой html, вы можете добавить его через script:

$(function() {
    $('input[name=myradiobutton]:radio:first').before('<input type="radio" name="myradiobutton" value="0" checked="checked" style="display:none;" />');
});

Вот демонстрация этого: http://jsfiddle.net/Ender/LwPCv/

Ответ 6

Я знаю, что это старый вопрос, но я считаю, что ответы недостаточны.

Самый чистый способ сделать это - использовать этот код

$(".myRadio").click(function() {
alert($(this).val());   
});

: -)

Ваши входные данные формы должны выглядеть так:

<input type="radio" value="40000" name="pay"  class="myRadio" />
<label for="40000">40000</label>

Ответ 7

Этот метод Jquery возвращает значение по умолчанию 0 при загрузке страницы...

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

Ответ 8

Чтобы получить значение выбранной кнопки радио, используйте имя RadioButtonName и идентификатор формы, содержащий RadioButton.

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

ИЛИ только

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

Ответ 9

Вы действительно должны использовать флажки, если будет экземпляр, где что-то не выбрано.

в соответствии с W3C

Если ни один из переключателей в наборе, совместно использующем одно и то же имя элемента управления, изначально "on", поведение пользовательского агента для выбора того, какой элемент управления первоначально "on", равен undefined. Заметка. Поскольку существующие реализации обрабатывают этот случай по-разному, текущая спецификация отличается от RFC 1866 ([RFC1866], раздел 8.1.2.4), которая гласит:

Во все времена проверяется только одна из переключателей в наборе. Если ни один из элементов набора радиоустройств не указывает "CHECKED", тогда пользовательский агент должен сначала проверить первый переключатель из набора.

Поскольку поведение пользовательского агента отличается, авторы должны убедиться, что в каждом наборе переключателей, из которого первоначально изначально "on".

Ответ 10

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

selectedVal = $('input[name="radio_name"]:checked').val();

selectedVal будет иметь требуемое значение, измените имя radio_name в соответствии с вашим, в вашем случае это будет "myradiobutton"

selectedVal = $('input[name="myradiobutton"]:checked').val();

Ответ 11

Для радиокнопки используйте следующие script:

var myRadio = $('input[name=meme_wall_share]');
var checkedValue = myRadio.filter(':checked').val();