Примерно так должно работать:
$("table[id$=_rblDependants] :radio").change(function() {
$(this).closest('table').next().toggle(this.checked && this.value == 'Yes');
}).change();
Это будет работать для любого количества повторяющихся элементов управления, поскольку оно находит <div id="X_pnlDependants">
относительно. Все, что мы делаем, это взятие <table>
удостоверения личности , заканчивающегося _rblDependants
, взятие любых кнопок :radio
внутри и привязка к их .change()
событие. Затем любой из них изменяется, он проверяет, что результат был value="Yes"
, и это было .checked
, если это так, покажите панель, в противном случае скрывайте ее через .toggle(bool)
.
.closest()
и .next()
должны подняться до <table>
, затем к следующему элементу, <div>
, так как это то, что вы хотите скрыть /шоу. .change()
в конце должен изначально вызывать обработчик, поэтому, если «Нет» изначально проверено, он скрывает <div>
при загрузке.
Вы можете попробовать здесь