Как получить значение выбранного радиокнопки

0

Моя часть HTML ниже:

<input id="yes" save-value="yes" value="no" name="view_y" class="switch-input yes" type="radio">
<label checked="checked" class="switch-label switch-label-off selected" for="yes">Yes</label>
<input id="no" save-value="no" value="no" name="view_n" class="switch-input no" type="radio">
<label class="switch-label switch-label-on" for="no">No</label>
<span class="switch-selection"></span>

Когда я нажимаю каждую кнопку checked = "checked", а выбранные параметры будут меняться от "да" до "нет".

С помощью этих параметров, как я могу получить значение сохранения выбранного переключателя. Поскольку я использую Handlebars js (json) в моей опции значения, я хочу получить значение сохранения выбранного переключателя.

Как я это делаю?

Теги:

3 ответа

1
Лучший ответ

Предполагая, что switch-input класса назначен только этим двум входным элементам, вы можете использовать его вместе с проверочным селектором

var value = $('input.switch-input').filter(':checked').attr('save-value');
//or var value = $('input.switch-input:checked').attr('save-value');

Примечание. Предпочитают использовать атрибуты data- * для хранения пользовательских атрибутов


Я думаю, что переключатели на самом деле не проверяются, изменяются только атрибуты меток, добавьте дополнительный класс к ярлыкам, например myclass

<input id="yes" save-value="yes" value="no" name="view_y" class="switch-input yes" type="radio"/>
<label checked="checked" class="myclass switch-label switch-label-off selected" for="yes">Yes</label>
<input id="no" save-value="no" value="no" name="view_n" class="switch-input no" type="radio"/>
<label class="myclass switch-label switch-label-on" for="no">No</label>
<span class="switch-selection"></span>

тогда

var value = $('.myclass[checked="checked"]').prev('input').attr('save-value');
console.log(value)
  • 0
    это показывает меня неопределенным, когда я использую ваш код ..
  • 0
    @ user3271762 смотрите обновление
Показать ещё 1 комментарий
0

У вас есть некоторые ошибки в вашем HTML-коде, вы помещаете проверенный атрибут на неправильный тег, посмотрите в этом примере:

$('body').on('change','input',function() {
   $('.switch-selection').html($(this).attr('save-value'));
});

http://jsfiddle.net/9Pj3g/2/

  • 0
    это показывает меня неопределенным .. я обновил вашу скрипку, проверьте его и дайте мне знать.
0

Во-первых, ваши радиокнопки должны иметь одинаковый атрибут имени, например, view, чтобы браузер ограничивал выбор только одним из них. Затем вы можете использовать $('[name="view"]:checked').val() чтобы зафиксировать значение выбранного переключателя.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню