Programing

jQuery : 선택한 항목에서 다른 확인란의 선택을 취소하십시오.

crosscheck 2021. 1. 9. 10:42
반응형

jQuery : 선택한 항목에서 다른 확인란의 선택을 취소하십시오.


나는 총 6 개의 체크 박스 (향후에 더 추가 될 수 있음)가 있고 하나만 선택하도록 허용하고 싶습니다. 그래서 사용자가 체크했을 때 다른 체크 박스는 체크를 해제해야합니다.

이 코드로 시도하고 ID를 정의하면 제대로 작동하지만 이제는 효율적인 방식으로 그 반대로 만드는 방법이 궁금하므로 앞으로 더 많이 추가하면 문제가되지 않습니다.

$('#type1').click(function() {
     $('#type2').not('#type1').removeAttr('checked');
}); 

참고로, 확인란은 형제가 아니고 서로 다릅니다. <td>


change핸들러를 바인드 한 다음 선택된 체크 박스를 제외하고 모든 체크 박스를 선택 취소합니다.

$('input.example').on('change', function() {
    $('input.example').not(this).prop('checked', false);  
});

여기 바이올린이 있습니다


모든 체크 박스에 클래스를 사용할 수 있으며 다음을 수행 할 수 있습니다.

$(".check_class").click(function() {
  $(".check_class").attr("checked", false); //uncheck all checkboxes
  $(this).attr("checked", true);  //check the clicked one
});

이 시도

 $(function() { 
  $('input[type="checkbox"]').bind('click',function() {
    $('input[type="checkbox"]').not(this).prop("checked", false);
  });
});

이 시도

$("[id*='type']").click(
function () {
var isCheckboxChecked = this.checked;
$("[id*='type']").attr('checked', false);
this.checked = isCheckboxChecked;
});

더 일반적으로 만들기 위해 구현 된 공통 클래스별로 확인란을 찾을 수도 있습니다.

수정 됨 ...


$('.cw2').change(function () {
    if ($('input.cw2').filter(':checked').length >= 1) {
        $('input.cw2').not(this).prop('checked', false);
    } 
});


$('td, input').prop(function (){
    $(this).css({ 'background-color': '#DFD8D1' });
    $(this).addClass('changed');
});

부울 속성에 관해서는 prop 메소드가 더 편리하다고 생각합니다. http://api.jquery.com/prop/

ReferenceURL : https://stackoverflow.com/questions/17785010/jquery-uncheck-other-checkbox-on-one-checked

반응형