Моя часть 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) в моей опции значения, я хочу получить значение сохранения выбранного переключателя.
Как я это делаю?
Предполагая, что 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)
У вас есть некоторые ошибки в вашем HTML-коде, вы помещаете проверенный атрибут на неправильный тег, посмотрите в этом примере:
$('body').on('change','input',function() {
$('.switch-selection').html($(this).attr('save-value'));
});
Во-первых, ваши радиокнопки должны иметь одинаковый атрибут имени, например, view
, чтобы браузер ограничивал выбор только одним из них. Затем вы можете использовать $('[name="view"]:checked').val()
чтобы зафиксировать значение выбранного переключателя.