Я пытаюсь установить скрытое поле формы со значением выбранного переключателя. У меня есть следующий код:
$(function () {
// set hidden form field with selected timeslot
$('input[name=["timeslot"]').live("click", (function () {
var valu = $(this).val();
alert(valu);
$("#selectedSlot").val(valu);
}));
});
Все переключатели имеют название «временной интервал», и я хотел бы запускать эту функцию при каждом нажатии. Однако окно предупреждения отображается пустым, когда я нажимаю одну из переключателей.
ОБНОВЛЕНИЕ: Ой! Не видел двойных квадратных скобок. Однако я исправил это:
$('input[name="timeslot"]').live("click", (function () {
var valu = $(this).val();
alert(valu);
$("#selectedSlot").val(valu);
}));
и у меня все еще такая же проблема. На самом деле окно предупреждения даже по какой-то причине больше не появляется.
ОБНОВЛЕНИЕ 2: На самом деле, в моем реальном коде у меня есть другие события, зарегистрированные в моем блоке инициализации, кроме этого - если я уберу их все, кроме переключателя один, он будет работать!
Например, если у меня есть это:
$(function () {
// set hidden form field with selected interviewee
$('#interviewees').live("change", (function () {
var selected = $("#interviewees").val();
$("#selectedInterviewee").val(selected);
}));
// set hidden form field with selected timeslot
$('input[name="timeslot"]').live("click", (function () {
var valu = $(this).val();
alert(valu);
$("#selectedSlot").val(valu);
}));
});
тогда событие щелчка переключателя НЕ срабатывает, хотя первое (раскрывающийся список) срабатывает. Но если у меня есть радио-кнопка одна, это делает. Есть идеи ????
Теги ввода выглядят так:
<input id="slot_7:30-AM" name="timeslot" type="radio" value="slot_7:30-AM" />
В основном я использую IE 8, но я попробовал это на Firefox, и произошло то же самое. Что я делаю не так?