나는 2 개 주 체크 박스 "JA"와 "니"가. 이 확인란 중 하나를 선택하면 하나 이상의 확인란이있는 하위 메뉴가 열립니다. 이 서브 체크 박스는 "ja"와 "nee"이며 maincheckbox에서 선택한 것에 응답합니다. 내가 겪고있는 문제는 사용자가 메인 체크 박스에서 "nee"를 선택한 다음 "ja"로 모든 서브 체크 박스를 변경할 수 있지만 maincheckbox는 "nee"로 유지되지만 "ja"체크 박스로 전환해야한다는 것입니다.제거 확인 다른 상자를 선택하지 않은 경우
질문 만이 개 체크 박스를 만 그들에 체크 속성을 가질 수와 subcheckboxes는 "하위 메뉴"라는 DIV 클래스에 있도록 내가 그것을했습니다.
나는이 문제에 대한 해결책은 "니"클래스 subcheckboxes의 하위 메뉴에서 선택되어 있는지 확인하는 것입니다 어떻게 생각. maincheckbox가 "nee"에 머물러있는 경우 "nee"maincheckbox에서 checked 속성을 제거하고 "ja"체크 박스로 전환하십시오. 그러나 분명히 나는 그것을하는 방법을 알아낼 수 없다.
나는 작은 jsFiddle 프로젝트 보여주는했다 : 나는이 같은 것 생각했다 경우, jQuery 코드$('.open_sub_ja').click(function() {
$(this).parents('.container_vragen').find('.ja').attr('checked', this.checked);
$(this).parents('.container_vragen').find('.nee').removeAttr('checked');
});
$('.open_sub_nee').click(function() {
$(this).parents('.container_vragen').find('.ja').removeAttr('checked');
$(this).parents('.container_vragen').find('.nee').attr('checked', this.checked);
});
$('.ja').click(function() {
$(this).parents('.antwoorden').find('.ja').attr('checked', this.checked);
$(this).parents('.antwoorden').find('.nee').removeAttr('checked');
});
$('.nee').click(function() {
$(this).parents('.antwoorden').find('.ja').removeAttr('checked');
$(this).parents('.antwoorden').find('.nee').attr('checked', this.checked);
});
<div>
<p>Heb je DigiD?</p>
<div class="antwoorden">
<input id="ja" type="checkbox" value="ja" class="sub_antwoord ja"/><label for="ja">Ja</label>
<input id="nee" type="checkbox" value="nee" class="sub_antwoord nee"/><label for="nee">Nee</label>
<div class="extra_info">?
<div class="extra_info_popup">
Hidden tekst
</div>
</div>
</div>
</div>
을 그리고 여기
if('.nee'.attr('checked')) {
// do nothing
}
else {
$('.open_sub_nee').removeAttr('checked');
$('.open_sub_ja').attr('checked');
}
와 무슨 일이 일어날 것 아니? –
좋은 점은 사용자와의 상호 작용을 위해 모든 하위 옵션을 예 (아니요 다른 방법으로)에서 no로 변경할 수 있어야합니다. 그러나 나는 그런 일이 일어나지 않을 것입니다. –