Ну, во-первых, вам нужно исправить свой HTML. Каждый набор радиокнопок «да» и «нет» необходимо сгруппировать вместе с правильным атрибутом name
. Это скажет браузеру, что только один из каждого набора «да» и «нет» можно выбрать. Однако name
должно быть уникальным для каждого условия. Примерно так должно поступить:
<span class="radio">
<input type="radio" name="condition_selection" value="yes" id="yes" />
<label for="yes">Yes</label>
<input type="radio" name="condition_selection" value="no" id="no" />
<label for="no">No</label></span>
Вы также должны использовать атрибут for
для элемента label
в целях доступности и попытаться использовать что-то другое, кроме таблиц, для разметки этой формы, но это не относится к данному вопросу.
Далее, вы можете попробовать упростить код Javascript, используя обработчик событий change
для проверки обоих состояний, примерно так:
$('.add_qns').hide();
$('.radio :radio').change(function(){
if(this.value === 'yes'){
$(this).parent().next('.add_qns').show();
} else {
$(this).parent().next('.add_qns').hide();
}
});
Вы можете изменить селектор $(this).parent().next('.add_qns')
в соответствии с вашей разметкой. Смотрите: http://www.jsfiddle.net/yijiang/BcAwH/ для живой демонстрации.