2012-08-16 5 views
1

양식의 모든 상자를 확인하고 검사하는 스크립트가 있습니다. 내 문제는 단지 내 확인란에만 영향을 주지만 내 라디오 단추에도 영향을 미치기 때문입니다. 자바 스크립트의 확인란을 선택하거나 선택을 취소하십시오.

이 내 HTML

<form id ="frm1"> 
<input type="checkbox" name="chk1"> 
<input type="radio" name="chk1"> 
<input type="checkbox" name="chk2"> 
<input type='checkbox' name='checkall' onclick='checkedAll(frm1);'> 
</form> 

난 단지 확인란이 아닌 라디오 버튼을 체크 할 수있는 방법이 있었는지 궁금 해서요 내 자바 스크립트

<script> 

checked=false; 
function checkedAll (frm1) { 
    var aa= document.getElementById('frm1'); 
    if (checked == false) 
      { 
      checked = true 
      } 
     else 
      { 
      checked = false 
      } 
    for (var i =0; i < aa.elements.length; i++) 
    { 
    aa.elements[i].checked = checked; 
    } 
     } 
</script> 

입니다.

+0

당신은 경우 - 다른 하나 개의 라인으로 교체하여 단순화 할 수 있습니다!'확인 = checked'을; –

답변

3
for (var i =0; i < aa.elements.length; i++) 
{ 
    if (aa.elements[i].type == "checkbox") { 
     aa.elements[i].checked = checked; 
    } 
} 
+0

작품과 같은 매력 – tawheed

0

양식 요소를 반복하고 "유형"속성을 확인할 수 있습니다. 또는 jQuery와 같은 자바 스크립트 라이브러리를 사용하면 특정 유형의 요소를 더 쉽게 선택할 수 있습니다.

var elLength = document.MyForm.elements.length; 

for (i=0; i<elLength; i++) 
{ 
    var type = MyForm.elements[i].type; 
    if (type=="checkbox" && MyForm.elements[i].checked){ 
     alert("Form element in position " + i + " is of type checkbox and is checked."); 
    } 
    else if (type=="checkbox") { 
     alert("Form element in position " + i + " is of type checkbox and is not checked."); 
    } 
    else { 
    } 
} 

는 jQuery를 그것은 것입니다 : 당신은 jquery을 사용할 수 있습니다

$("input[type='checkbox']).each(function(chk) { 
    chk.checked = !chk.checked; 
}); 
+0

** chk.checked ** 작동하지 않습니다. ** this.checked =! this.checked ** –

+0

을 사용하십시오.'$ (chk) .checked =! $ (chk) .checked' ...를 입력해야합니다. ... good catch –

+0

작동하지 않습니다. 이걸보세요 jsfiddle.net/dariushvb2010/J5AaG/ –

0

. 아래 편집기에서 HTML 코드를 사용하십시오. 제대로 작동합니다!

<html> 
<head> 
    <script type="text/javascript" src="http://code.jquery.com/jquery-1.8.0.js"> </script> 
</head> 
    <form id="myform"> 
     <input type="checkbox" />chk1 
     <input type="checkbox" />chk2<br/>  
     <input type="radio" />radio1<br/>  
     <a style="cursor:pointer" onclick="ch()">check/uncheck</a> 
    </form> 
</body></html> 

이 스크립트

<script> 
    function ch(){ 
     $("form#myform input[type='checkbox']").each(function(chk) { 
      this.checked = !this.checked; 
     });   
    } 
</script> 
관련 문제