У меня есть форма с несколькими флажками и под каждым из них набор переключателей. Я хочу отключить и сбросить переключатели, когда соответствующий флажок не установлен или не установлен.
Я попытался включить переключатели с помощью селектора jquery :radio[name=vid]
, но он не работает.
<form action='matrix.php' method='post' id='formanal' name='formanal'>
<ul class="desc">
<li><label><input type="checkbox" id ="1" value="Couleur des tarses" name="1">Couleur des tarses</label></li>
<ul>
<li class="valeur"><label><input type="radio" value="1-1" id="1-1" name="v1" disabled>Jaunes</label></li>
<li class="valeur"><label><input type="radio" value="1-2" id="1-2" name="v1" disabled>Blancs</label></li>
</ul>
</ul>
...
<ul class="desc">
<li><label><input type="checkbox" id ="8" value="Forme des ailes" name="8">Forme des ailes</label></li>
<ul>
<li class="valeur"><label><input type="radio" value="8-15" id="8-15" name="v8" disabled>Pliées en long</label></li>
<li class="valeur"><label><input type="radio" value="8-16" id="8-16" name="v8" disabled>Étalées en toit</label></li>
</ul>
</ul>
<input type='submit' name='action' value='Valider'></div>
</form>
$(document).ready(function() {
$("form input:checkbox").change(function() {
var vid = 'v' + this.id;
var etat = $(this).prop('checked');
if (etat) {
$(':radio[name=vid]').prop('disabled', false);
} else {
$(':radio[name=vid]').prop('checked', false);
$(':radio[name=vid]').prop('disabled', true);
}
});
});
При создании переключатели отключаются, но щелчок по соответствующему флажку не активирует их.
Заранее спасибо за любую подсказку.