2014-09-28 5 views
1

JS를 사용하여 테이블 행당 3 개씩 선택한 checbox를 제한하려고합니다. http://www.javascriptkit.com/script/script2/checkboxlimit.shtml테이블 행 당 제한 확인란 선택

<tr> 
    <td> 
     <input type="checkbox" name="indicator[]"> 
    </td> 
    <td> 
     <input type="checkbox" name="graduations[]"> 
    </td> 
    <td> 
     <input type="checkbox" name="graduations[]"> 
    </td> 
    <td> 
     <input type="checkbox" name="graduations[]"> 
    </td> 
    <td> 
     <input type="checkbox" name="graduations[]"> 
    </td> 
    <td> 
     <input type="checkbox" name="graduations[]"> 
    </td> 
</tr> 

실제 코드가 알 수 있듯이 :

function checkboxlimit(checkgroup, limit){ 
    var checkgroup=checkgroup 
    var limit=limit 
    for (var i=0; i<checkgroup.length; i++){ 
     checkgroup[i].onclick=function(){ 
     var checkedcount=0 
     for (var i=0; i<checkgroup.length;checkedcount+=(checkgroup[i].checked)? 1 : 0 
      if (checkedcount>limit){ 
       alert("You can only select a maximum of "+limit+" checkboxes") 
      this.checked=false 
      } 
     } 
    } 
} 

I에서만 전체 테이블에 대해 제한 할 수있는 각각의 열은 오직 2 선택에서와 같이 될 수있는 분리 된 체크 박스 5 레벨을 갖는다 . 이 작업을 수행하는 쉬운 방법이 있습니까?

+0

당 2로 확인 확인란의 #을 제한하는 parent().siblings()를 사용할 수 있습니까? –

+0

제목의 철자를 확인하십시오. –

답변

1

당신이 JQuery와에 액세스 할 수 있으면 행 그래서 두가 눈금에 대한 모든 체크 박스에 선택해야

$(function() { 
    $('input[name=graduations\\[\\]]').click(function(){ 
     if($(this).parent().siblings().children("input[name=graduations\\[\\]]:checkbox:checked").length >= 2) 
      this.checked = false; 
    }); 
}); 

http://jsfiddle.net/p2dLu2mu/