2017-04-03 7 views
1

체크 박스가 가득 찬 웹 페이지로 작업하고 있는데, 다른 체크 박스를 여러 개 체크하는 기능이있는 체크 박스를 체크하고 싶습니다. 이것은 지금까지 jquery 코드의이 조각으로 성공했습니다 :다른 상자를 체크하는 체크 박스

$(function(){ 
    $('#1').on('change',function(){ 
    $('#5,#456,#910,#1077,#982,#759,#1234,#392,#289,#956').prop('checked',$(this).prop('checked')); 
    }); 
    $('.child').on('change',function(){ 
    $('#parent').prop('checked',$('.child:checked').length ? true: false); 
    }); 

}); 

유일한 것은; "자식"확인란에 함수를 제공하고 "부모"확인란을 선택했을 때 작동하도록하고 싶지만 부모 확인란에서 자식 확인란을 선택하면 함수가 작동하지 않는 것 같습니다. 커서로 하위 상자를 수동으로 체크 한 경우에만.

제 질문은 분명히 밝혀졌습니다. 나는 일반적으로 여기

에 게시하지 않습니다 :)

+0

당신이 "무슨 뜻인지 정의하십시오하지만 기능하지 않습니다 자식 확인란이 부모 확인란에 선택되어 있으면 작동하는 것 같습니다. " 부모 확인란을 선택하면 어떻게 될 것으로 예상됩니까? 당신이 사건 사슬을 강요하려고하는 것 같아요. 그리고 그것은 나에게 이해가 가지 않습니다. – TinkerTenorSoftwareGuy

답변

0

당신은 상자를 선택하고 jQuery로 클릭 이벤트를 트리거 $.trigger('click')과 같은 코드를 사용할 수 있습니다.

이 시도 :

여기
$('#1').on('change',function(){ 
    $('#5,#456,#910,#1077,#982,#759,#1234,#392,#289,#956').trigger('click'); 
}); 

이 좀 더 명확하게하기 위해 스택 코드 조각입니다 :

$(function(){ 
 
    $('#parent').click(function(){ 
 
    \t $('#1, #2, #3').trigger('click'); 
 
    }); 
 
    $('#1, #2, #3').click(function(){ 
 
     console.log(this.id); 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
parent: <input type="checkbox" id="parent" /> 
 

 
<br /> 
 

 
<input type="checkbox" id="1" /> 
 
<input type="checkbox" id="2" /> 
 
<input type="checkbox" id="3" />