복붙노트

[JQUERY] 어떻게 선택 체크 박스의 수를 제한하려면?

JQUERY

어떻게 선택 체크 박스의 수를 제한하려면?

해결법


  1. 1.당신이 이런 식으로 뭔가를 할 수 변경 이벤트를 사용 :

    당신이 이런 식으로 뭔가를 할 수 변경 이벤트를 사용 :

    var limit = 3;
    $('input.single-checkbox').on('change', function(evt) {
       if($(this).siblings(':checked').length >= limit) {
           this.checked = false;
       }
    });
    

    이 작업 데모를 참조하십시오


  2. 2.다음과 같이하십시오.

    다음과 같이하십시오.

    변경 이벤트에서

    $('input[type=checkbox]').on('change', function (e) {
        if ($('input[type=checkbox]:checked').length > 3) {
            $(this).prop('checked', false);
            alert("allowed only 3");
        }
    });
    

    JSFiddle이 확인


  3. 3.이 데모를보십시오 :

    이 데모를보십시오 :

     $(document).ready(function () {
       $("input[name='vehicle']").change(function () {
          var maxAllowed = 3;
          var cnt = $("input[name='vehicle']:checked").length;
          if (cnt > maxAllowed) 
          {
             $(this).prop("checked", "");
             alert('Select maximum ' + maxAllowed + ' Levels!');
         }
      });
    });
    

  4. 4.나는 우리가 대신 변경을 클릭 사용해야한다고 생각합니다

    나는 우리가 대신 변경을 클릭 사용해야한다고 생각합니다

    작업 DEMO


  5. 5.

    $("input:checkbox").click(function(){
        if ($("input:checkbox:checked").length > 3){
          return false;
       }
    });
    

  6. 6.

    $('.checkbox').click(function(){
      if ($('.checkbox:checked').length >= 3) {
        $(".checkbox").not(":checked").attr("disabled",true);
      }
      else 
        $(".checkbox").not(":checked").removeAttr('disabled');
    });
    

    나는이를 사용했다.


  7. 7.이 시도

    이 시도

    var theCheckboxes = $(".pricing-levels-3 input[type='checkbox']");
    theCheckboxes.click(function()
    {
        if (theCheckboxes.filter(":checked").length > 3)
            $(this).removeAttr("checked");
    });
    

  8. 8.letiagoalves 말했듯이 내가 말하고 싶지만,하지만 난 이런 식으로 할 권하고 싶습니다 그래서 당신은 당신의 형태로 하나 개 이상의 체크 박스 질문이있을 수 있습니다 :

    letiagoalves 말했듯이 내가 말하고 싶지만,하지만 난 이런 식으로 할 권하고 싶습니다 그래서 당신은 당신의 형태로 하나 개 이상의 체크 박스 질문이있을 수 있습니다 :

      var limit = 3;
        $('input.single-checkbox').on('change', function(evt) {
            if($('input.single-checkbox').siblings('input.single-checkbox:checked').length > limit) {
                this.checked = false;
            }
        });
    

  9. 9.이것은 내가 그것을 작동하게하는 방법이다 :

    이것은 내가 그것을 작동하게하는 방법이다 :

    // Function to check and disable checkbox
    function limit_checked( element, size ) {
      var bol = $( element + ':checked').length >= size;
      $(element).not(':checked').attr('disabled',bol);
    }
    
    // List of checkbox groups to check
    var check_elements = [
      { id: '.group1 input[type=checkbox]', size: 2 },
      { id: '.group2 input[type=checkbox]', size: 3 },
    ];
    
    // Run function for each group in list
    $(check_elements).each( function(index, element) {
      // Limit checked on window load
      $(window).load( function() {
        limit_checked( element.id, element.size );
      })
    
      // Limit checked on click
      $(element.id).click(function() {
        limit_checked( element.id, element.size );
      });
    });
    

  10. 10.나는 이전의 선택을 취소 자동으로 바꿔이 기능이

    나는 이전의 선택을 취소 자동으로 바꿔이 기능이

    VAR 제한 = 3; $ ( '. compare_items').에 ({), 기능 (EVT를 '클릭' . 인덱스 = $ (이) .parent ( 'TD') 부모 ( 'TR') 지수 ().; (:) '. 확인 compare_items'길이> = 제한. $ (이) {경우 $ ( 'compare_items.') EQ (localStorage.getItem이 ( '마지막 체크 항목')) removeAttr가 ( '확인')..; //this.checked = 거짓; } localStorage.setItem ( '마지막 체크 항목', 인덱스); }); <스크립트 SRC = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"> 1 2 3 4 5 6 7 8 9 10


  11. 11.나는 차이가 나는 새를 확인에서 사용자를 중지하는 대신 가장 오래된 체크 박스를 체크 해제하고 싶어하고,이 오늘날했다 :

    나는 차이가 나는 새를 확인에서 사용자를 중지하는 대신 가장 오래된 체크 박스를 체크 해제하고 싶어하고,이 오늘날했다 :

        let maxCheckedArray = [];
        let assessmentOptions = jQuery('.checkbox-fields').find('input[type="checkbox"]');
        assessmentOptions.on('change', function() {
            let checked = jQuery(this).prop('checked');
            if(checked) {
                maxCheckedArray.push(jQuery(this));
            }
            if(maxCheckedArray.length >= 3) {
                let old_item = maxCheckedArray.shift();
                old_item.prop('checked', false);
            }
        });
    

  12. 12.당신은 당신이 허용 3 개 체크 박스의 상태에서 첫번째 선택했는지의 체크 박스를 체크 해제하십시오. 바닐라 자바 ​​스크립트와; 당신은 당신의 HTML 입력 확인란에 "(이) 확인"= onclick을 할당해야

    당신은 당신이 허용 3 개 체크 박스의 상태에서 첫번째 선택했는지의 체크 박스를 체크 해제하십시오. 바닐라 자바 ​​스크립트와; 당신은 당신의 HTML 입력 확인란에 "(이) 확인"= onclick을 할당해야

    var queue = [];
    function checking(id){
       queue.push(id)
       if (queue.length===3){
        queue[0].checked = false
        queue.shift()
       }
    }
    
  13. from https://stackoverflow.com/questions/19001844/how-to-limit-the-number-of-selected-checkboxes by cc-by-sa and MIT license