#javascript #jquery #radio-button #default
#javascript #jquery #переключатель #По умолчанию
Вопрос:
Переключатели, первый из которых установлен по умолчанию:
<div class="shipping">
<div class="title">Select shipping method</div>
<label><input type="radio" name="shipping" value="courier-dpd" checked="checked">Courier DPD</label>
<label><input type="radio" name="shipping" value="personal">Personal pick up</label>
<button>Next</button>
</div>
Js:
$(document).on('click', '.shipping button', function() {
let val = $('.shipping').find('input[name="shipping"]:checked').val()
console.log(val);
}
Даже если я вручную переключаю переключатели и выбираю второй, jQuery продолжает получать значение первого переключателя, независимо от выбора пользователя.
Почему это? Я не могу найти решение.
Ответ №1:
Правка 2: Добавлен JS-код из обновленного вопроса. Похоже, здесь это работает.
Редактировать: Добавлена кнопка отправки для демонстрации действия отправки.
Ну что, ты вызываешь console.log
после изменения значения? Я создал фрагмент ниже, и он отлично работает.
$(function() {
let val = $('.shipping').find('input[name="shipping"]:checked').val()
console.log(val);
/*$('#btn').on('click', function() {
let val = $('.shipping').find('input[name="shipping"]:checked').val()
console.log(val);
})*/
$(document).on('click', '.shipping button', function() {
let val = $('.shipping').find('input[name="shipping"]:checked').val()
console.log(val);
})
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="shipping">
<div class="title">Select shipping method</div>
<label><input type="radio" name="shipping" value="courier-dpd" checked="checked">Courier DPD</label>
<label><input type="radio" name="shipping" value="personal">Personal pick up</label>
<button>Next</button>
</div>
Комментарии:
1. по какой-то причине это определенно не работает в моем проекте
2. Использование точно такого же кода, который я опубликовал, не работает?
3. Я обновил свой вопрос, чтобы вы могли видеть, как я обрабатываю событие
4. Где находится кнопка?
5. Прямо под входными данными, добавленными к моему вопросу