2017-04-13 1 views
-1

모두 '모두 선택'을 클릭하면 모든 확인란을 비활성화하고 싶습니다.jQuery에서 foreach를 사용하여 모든 확인란을 비활성화하는 방법

jQuery를 사용하면 어떻게 가능합니까?

자바 스크립트 : 여기

categories[] foreach 루프에있는 체크 박스의 이름

function checkAll(source) { 
    checkboxes = document.getElementsByName('categories[]'); 

    for(var i=0, n=checkboxes.length;i<n;i++) { 
     //checkboxes[i].checked = source.checked; 
     checkboxes[i].disabled = source.disabled; 
    } 
} 
+1

'forech'를 사용하지 않아도됩니다. – vanloc

+0

어떤 문제가 발생합니까? –

+0

이 자바 스크립트를 사용하면 ... 모든 체크 박스가 비활성화되지 않습니다 ....이 자바 스크립트를 해결할 수 있습니까? 해결 된 경우 ... 자바 스크립트를 구현합니다. –

답변

0

그냥 사용이 prop('disabled', true)

$('#mainChk').on('click', function(){ 
 
    var categories = $('.categories'); 
 
    categories.prop('disabled', !categories.prop('disabled')); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input id="mainChk" type="checkbox" > Main 
 
<input type="checkbox" class="categories"> First 
 
<input type="checkbox" class="categories"> Second 
 
<input type="checkbox" class="categories"> Third

+0

감사합니다 @Suren Srapyan –

+0

@RohanHapani 도움이 될 경우 다른 사람들이 쉽게 찾을 수 있도록 허용 할 수 있습니다 –

0

모든 체크 박스에 클래스 (예 : class = 'ck')를 지정하십시오. 그런 다음

이 당신을 위해

$('.ck').each(function(){ 
$(this).prop('disabled', true); 
}) 
+0

작동하지 않습니다 ... 첫 번째 확인란 만 사용 중지되었습니다 ... –

0

function uncheckAll() { 
 
    $('input:checkbox').removeAttr('checked'); 
 
} 
 

 
function disableAll() { 
 
    $('input:checkbox').attr('disabled','true'); 
 
}
<input type="checkbox" checked>A<br/> 
 
<input type="checkbox" checked>B<br/> 
 
<input type="checkbox">C<br/> 
 
<input type="checkbox" checked>D<br/> 
 
<input type="checkbox">E<br/> 
 
<button onclick="uncheckAll()">Uncheck all</button> 
 
<button onclick="disableAll()">Disable all</button> 
 

 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

+0

Thanks @Grandpa Guru .... –

0

을 작동합니다.

 <input type="checkbox" checked>A<br/> 
    <input type="checkbox" checked>B<br/> 
    <input type="checkbox">C<br/> 
    <input type="checkbox" checked>D<br/> 
    <input type="checkbox">E<br/> 
    <button class="disableAll">Disable all</button> 

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
     <script> 
     $(document).ready(function(){ 
     $(".disableAll").click(function(){ 
     $('input[type=checkbox]').each(function(){ 
     $(this).prop('disabled', true); 
    }) 
    }); 
}); 

+0

Thanks @Ajay Malhotra –

+0

이것이 내 대답을 받아 들일 수있는 것보다 당신에게 유용하다면 .. – Aaron

0

이 같은 jQuery로 사용 안 함 확인란을 활성화 할 수 있습니다.

$('#checkAll:checkbox').change(function() { 
    if($(this).attr("checked")) $('input:checkbox').attr('checked','checked'); 
    else $('input:checkbox').removeAttr('checked'); 
}); 

이 모양을 보시오. demo.

+0

Thnx @Asim Shahzad –

관련 문제