У меня есть следующий код в jQuery для набора переключателей, которые имеют одинаковое поведение при нажатии (они показывают некоторые скрытые поля). Ранее я дублировал один и тот же код для каждого отдельного селектора, поэтому я просто использовал несколько селекторов, как в коде ниже. Тем не менее, это на самом деле не работает, так как, когда несколько переключателей находятся на одной странице, правильное поведение «показать / скрыть», похоже, испорчено. Это потому, что я использую $ (this) с live ()? Или я что-то не так делаю? Спасибо за любую помощь, просто стараясь сохранить этот код настолько чистым, насколько это возможно, хочу избежать дублирования его для каждого селектора!
//event handler for radio fields with subsections
$("input[name='registered'], input[name='voted'], input[name='report'], input[name='newsletter']").live("click", function(){
//check if value is true
if ($(this + ":checked").val() == '1')
$(this).parent().find('span.hidden').fadeIn("slow");
else
$(this).parent().find('span.hidden').hide();
});