2010-04-27 1 views
0

onmouseover 확인란을 여러 개 선택할 수 있지만 각 상자에 onmouseover을 적용하는 대신 확실하지 않지만 ID로 확인란을 조작하는 방법을 알아 냈습니다. getElementById을 사용할 곳. 따라서 아래에서 보는 것 대신에.눈에 잘 띄지 않는 자바 스크립트를 사용하여 ID로 여러 확인란을 조작 하시겠습니까?

<html> 
<head> 
<script> 
    var Toggle = true; 

    var Highlight=false; 
    function handleKeyPress(evt) { 
    var nbr; 
    if (window.Event) nbr = evt.which; 
    else nbr = event.keyCode; 
    if(nbr==16)Highlight=true; 
    return true; 
    } 

    function MakeFalse(){Highlight=false;} 

    function SelectIt(X){ 
     if(X.checked && Toggle)X.checked=false; 
     else X.checked=true; 
    } 
function ChangeText() 
{ 
    var test1 = document.getElementById("1"); 
    test1.innerHTML = "onmouseover=SelectIt(this)" 
} 

</script> 
</head> 
<body> 
<form name="A"> 
<input type="checkbox" name="C1" onmouseover="SelectIt(this)" id="1"><br> 
<input type="checkbox" name="C2" onmouseover="SelectIt(this)" id="2"><br> 
<input type="checkbox" name="C3" onmouseover="SelectIt(this)" id="3"><br> 
<input type="checkbox" name="C4" onmouseover="SelectIt(this)" checked="" disabled="disabled" id="4"><br> 
<input type="checkbox" name="C5" onmouseover="SelectIt(this)" id="5"><br> 
<input type="checkbox" name="C6" onmouseover="SelectIt(this)" id="6"><br> 
<input type="checkbox" name="C7" onmouseover="SelectIt(this)" id="7"><br> 
<input type="checkbox" name="C8" onmouseover="SelectIt(this)" id="8"><br> 
</form> 

</body> 
</html> 

나는 stackoverflow.com의 검색 기능을 시도 내가하지 않은 구글에 둘러보고 후이

<form name="A"> 
<input type="checkbox" name="C1" id="1"><br> 
<input type="checkbox" name="C2" id="2"><br> 
<input type="checkbox" name="C3" id="3"><br> 
<input type="checkbox" name="C4" checked="" disabled="disabled" id="4"><br> 
<input type="checkbox" name="C5" id="5"><br> 
<input type="checkbox" name="C6" id="6"><br> 
<input type="checkbox" name="C7" id="7"><br> 
<input type="checkbox" name="C8" id="8"><br> 
</form> 

같은 확인란의 배열에 onmousover 효과를 적용 할 수 있도록하려면 지금까지 배움의 과정에 있지만 나에게도 의미가있는 해결책을 찾을 수 있었기 때문에 지식 수준이 너무 높아진 것을 두려워 할 수도 있습니다.

+0

jQuery 또는 YUI와 같은 자바 스크립트 Libaray를 살펴 보셨나요? – Samuel

+0

특정 최적화없이 스타일에 관한 일반적인 질문부터 codereview.stackexchange.com에서 이와 같은 질문을하는 것이 좋습니다. 이와 같이 특정한 것을 열어 보면이 사이트에서 생산성을 높일 수 있습니다. –

답변

0

방해받지 않는 JavaScript를 만들기 위해 입력 이벤트를 변경할 필요가 없습니다. 자바 스크립트를 사용할 수없는 에이전트는 onmouseover 속성을 무시합니다. 그리고 루프의 서버 측에서 체크 박스를 생성하기를 원하기 때문에 복사 작업을 두려워 할 필요가 없습니다.

0

나는 클라이언트 측에서 jQuery를 얻으려고합니다. 예를 들어, 귀하의 질문에 아주 쉽게 jQuery를에 매우 적은 코드로 모델링 할 수 있습니다

$(':checkbox').mouseover(function() 
{ 
    this.checked = !this.checked; 
}); 

이, 당신의 페이지에있는 모든 확인란을 잡고 그들에게 mouseover 이벤트를 부착 한 다음 마우스가 이상이 발생하면, 요소의 checked 속성의 상태를 토글합니다.

+0

도움 주셔서 감사합니다! :) – Dean