2011-10-05 4 views
1

첫 번째 게시물을 작성하면됩니다. 의료 협약 참가자가 수업에 등록하고 각 수업은 3 시간 동안 지속되므로 양식을 만들어야합니다. 오전 10시에 수업을 듣기를 원하는 학생은 오전 11시, 오후 12시, 오후 1시에 등록 할 수 없지만 오후 2시에 등록 할 수 있습니다.체크 박스 그룹을 비활성화하려면

시간당 3 가지 수업이 있습니다.

자바 스크립트를 사용하여이 작업을 수행한다고 생각했지만 완전히 손실되었습니다.

이 작업을 수행하는 방법에 대한 힌트를 제공해 주시겠습니까?

감사합니다.

답변

0

이 작업을 수행하는 빠르고 쉬운 방법은 onChange를 실행하는 javascript 함수를 설정하여 다른 확인란을 비활성화하거나 활성화하는 것입니다. 당신은 자바 스크립트의 의사 코드가 될 것이다

<input type="checkbox" onChange="enableDisable(11)" name="11" id="whatever"> 

과 같이 할 것 : 마지막 단계는 약간의 고통이 될 것입니다

//Declare function 
//Check the current id and get the next 3 IDs 
//Check the status of the currentid to find out if you checked or unchecked it 
//if you checked it, disable the next 3 ids 
//if you unchecked it, enable the next 3, dependant on whether any of the previous 3 values are checked 

것을,하지만 어떻게 좋겠의 기초입니다 그것을 달려 들으십시오

+0

와우, 빨리했다. 승인. 그러나 그 기능에 대해 조금 더 물어 보는 것이 너무 많습니까? 나는 거의 자바 스크립트로 null입니다. –

+0

@GustavoBenitoSilva http://www.codecademy.com/ –

0

질문 요구 사항에서 중요한 부분을 놓 쳤습니다. 사용자가 오전 10시 클래스를 등록하는 틱 때, 그들은 클래스의 모두이 그룹에 등록 할 수 없습니다 :

  • 그룹을 1 : 오전 11시 - 오전 12시부터 오후 1시까지
  • 그룹이 오전 9시 - 오전 8시에서 오전 7시까지

javascrip을 사용하여 거의 "null"이라고 말했기 때문에 개념적 목적으로 만이 코드를 작성했습니다.

먼저해야 할 일은 jquery.js 파일 (Google에서 도처에서 찾을 수 있음)을 다운로드 한 다음 register.php 파일과 동일한 디렉토리에 파일을 저장하는 것입니다.

코드는 여기 간다 :

<input type="checkbox" value="10" name="convention_time"> 10 am<br> 
<input type="checkbox" value="11" name="convention_time"> 11 am<br> 
<input type="checkbox" value="12" name="convention_time"> 12 am<br> 
<input type="checkbox" value="13" name="convention_time"> 1 pm<br> 
<input type="checkbox" value="14" name="convention_time"> 2 pm<br> 
<input type="checkbox" value="15" name="convention_time"> 3 pm<br> 

<script> 
$(function(){ 
    $('[name="convention_time"]').live('click',function(){ 
     var A=$(this); 
     var method2call = A.is(':checked')?'attr':'removeAttr' 
     var selector = '[name="convention_time"]:lt(3)' 
     A.nextAll(selector).add(A.prevAll(selector))[method2call]('disabled','disabled').attr('checked',false) 
    }) 
}) 
</script> 
+0

우수합니다, 이것이 내가 필요한 것입니다. –

+0

미안, 또 하나있어, 그게 내가 시간당 하나 이상의 이벤트 (오전 10시 2 분 수업, 예를 들어 오전 11시 2 분)입니다. 귀하의 코드는 3 개의 상관 체크 박스를 활성화/비활성화하지만 추가 10 개의 클래스를 추가하면 아이디어가 작동하지 않습니다. 다시 한 번 감사드립니다. –