2013-04-01 3 views
-1

아래 코드 샘플에서 courseID 체크 박스를 선택하면 courseGroup 체크 박스를 선택 또는 선택 해제해야합니다. td는 다른 쿼리를 기반으로 페이지를 반복합니다. jQuery를 사용하여 이전 div 선택

나는 사용하여 시도 :

$('.checkedCourse').click(function() { 
    if ($(this).closest("td").find('.checkGroup').prop('checked') == true && this.checked == false) 
    $(this).closest("td").find('.checkGroup').prop('checked', false); ... 

을하지만 모든 페이지의 courseGroup 확인란이 그룹에 대한뿐만 아니라 사람을 선택하거나 선택 취소합니다.

나는 또한 $(this).parents('div:eq(0)')을 시도했지만 하나 이상의 prev() div로 돌아갈 방법을 모르겠다. rendered HTML

내가 굵게 그룹 (예 : AMBI 12 ~ 13 합계) 나는 그냥 할 수

+0

'id = "courseID"'을 (를) 다시 사용하고 있습니까? ID는 고유해야합니다. – j08691

+0

최종 렌더링 된 HTML을 제공하십시오. 모든 체크 박스가 같은'td' 안에있는 것처럼 보일 것입니다. –

답변

0

감사를 모든 사람에게, 당신이 나 작동 말한의 조합!

if ($(this).closest('div[name=courseGrouping]').find('.checkGroup').prop('checked') == true && this.checked == false) 
       $(this).closest('div[name=courseGrouping]').find('.checkGroup').prop('checked', false); 

지금 난 그냥 모든 것이 그 아래 양식에 체크하면, 난 그냥 루프 또는 뭔가있을거야 그 위에 체크 박스가 체크 얻을 수 있도록 방법을 알아 내야합니다.

0

해당 그룹의 과정을 선택 취소하면되지 않은이 필요합니다 : 여기

<td colspan="7"> 
    <cfoutput query="courseData"> 
     <div name="div1"> 
      <input type="checkbox" name="courseGroup" class="checkGroup"> 
      <div class="courseBreak"></div> 
      <div class="courseLine"> 
       <div class="courseSection">#courseSections#</div> 
       <div class="courseTitle">#courseTitle#</div> 
       <div> 
        <input type="checkbox" class="checkedCourse" name="courseID" id="courseID" value="#courseId#"> 
       </div> 
      </div> 
     </div> 
    </cfoutput> 
</td> 

는 렌더링 된 HTML의 이 : 당신의 체크 박스부터

if ($(this).closest(".courseLine").prevAll('.checkGroup:first').prop('checked') == true && this.checked == false) 
    $(this).closest(".courseLine").prevAll('.checkGroup:first').prop('checked', false); 
+0

그 중 하나가 작동하지 않습니다 그것은 가장 가까운 하나가 아니에요 2 이상 –

1

이 같은 td 내에서, 당신은 엄마를 찾기 위해 그것을 사용할 수 없습니다 tching 체크 박스. 그러나 일반적인 부모 인 div을 사용할 수 있습니다.

$(this).closest(".courseLine").closest("div").find('.checkGroup') 

나는 closest에이 호출을 피하기 위해 그 외부 div에 클래스를 넣어 제안했다.

+0

나는 courseID을 꺼냈다 - 어쨌든 –

0

귀하의 ID를 고유 있는지 확인하고이 시도 :

$('.checkedCourse').click(function() { 
    $(this).closest('div[name=div1]').find('.checkGroup').prop('checked', !$(this).is(':checked')); 
}); 

jsFiddle example

+0

이 작동하지 않는다 –

관련 문제