2010-02-16 6 views
0

이 코드가 실패하는 이유는 무엇입니까? 내 셀렉터에 대해 ID가있는 DIV를 사용하는 것을 제외하고는 다른 곳에서 똑같은 일을하고 있습니다. 이번에는 "클래스 이름"을 셀렉터로 사용해야했지만 작동하지 않습니다. 내가하고 싶은 것은 하나의 체크 박스를 체크하고 동일한 클래스 이름을 가진 모든 체크 박스를 체크하는 것입니다. 어떤 도움을 주시면 감사하겠습니다. 더 좋은 방법으로 같은 것을 성취 할 수있는 다른 방법에 감사드립니다.모든 체크 박스를 확인하는 데 도움이 필요합니다

감사합니다.

자바 스크립트 기능 :

function jqCheckAll_byClass(class_name, name, check_me) 
{ 
    if (check_me == false) 
    { 
     $("." + class_name + " INPUT[@name=" + name + "][type='checkbox']").attr('checked', false); 
    } 
    else 
    { 
     $("." + class_name + " INPUT[@name=" + name + "][type='checkbox']").attr('checked', true); 
    } 
} 

onclick 이벤트 :

<input type="checkbox" onclick="jqCheckAll_byClass('5_arch_chbx','5_archive_chbx', this.checked);" title="Check All" class="a_hand"> 

HTML :

<input type="checkbox" class="5_arch_chbx input_editible" name="5_archive_chbx" id="2087archive_chbx_id"> 
+0

name 속성 앞에 '@'를 사용할 필요가 없습니다. – rahul

+0

덧글 : 함수 코드는 더 간단 할 수 있습니다 : $ ("."+ class_name + "INPUT [@ name ="+ name + "] [type = '체크 박스']"). attr ('checked', check_me); 디버깅을 위해 : 함수 본문에 alert ($ (". + class_name +"INPUT [@ 이름 = "+ 이름 +"] [유형 = '체크 박스'] ''. . – Adelf

+0

덕분에 코드가 작아졌습니다. 그것은 도움이되었습니다. 고마워 adelf – Ronedog

답변

2

는 HTML에서 onclick을 제거하고이 하나를 시도해보십시오. 또한 모든 체크 박스에 ID를 제공했습니다.

<input type="checkbox" id="chkAll" title="Check All" class="a_hand"> 

$(function(){ 
    $("#chkAll").click(function(){ 
     $(":checkbox.5_arch_chbx").attr ("checked", $(this).attr("checked")); 
    }); 
}); 
+0

Rahul, "@"를 제거하여 위의 팁 주셔서 감사합니다. 내가 전에 일하는 이유는 선택기의 일부로 div id를 사용하고 div가 테이블을 감 쌌기 때문입니다. div를 추가하고 테이블 주위에 포장 한 후 모든 상자를 확인하기 시작했습니다. 그러나 "@"를 제거하기 전에는 선택기가 선택하라는 상자 대신 모든 상자를 선택합니다. 당신의 도움을 주셔서 감사합니다 – Ronedog

관련 문제