2014-03-02 4 views
0

이 테이블 구조가 있습니다.테이블의 클래스별로 숨겨진 입력 값을 설정하는 방법

<table id="my_table"> 
<tr class="odd" id="row_1"> 
    <td></td> 
    <td><input type="hidden" id="flight_1" value=""></td> 
</tr> 
<tr class="odd" id="row_2"> 
    <td></td> 
    <td><input type="hidden" id="flight_2" value=""></td> 
</tr> 
<tr class="odd" id="row_3"> 
    <td></td> 
    <td><input type="hidden" id="flight_3" value=""></td> 
</tr> 
<tr class="even" id="row_4"> 
    <td></td> 
    <td><input type="hidden" id="flight_4" value=""></td> 
</tr> 
<tr class="even" id="row_5"> 
<td></td> 
    <td><input type="hidden" id="flight_5" value=""></td> 
</tr> 
<tr class="even" id="row_6"> 
    <td></td> 
    <td><input type="hidden" id="flight_6" value=""></td> 
</tr> 

tr 태그의 클래스를 기반으로 각 행에 숨겨진 값의 값을 설정하는 방법은 무엇입니까? 예를 들어 나는 3 행의 'odd'클래스와 함께 테이블에 9 행을, 다음 3 행에는 'even'을, 마지막 3 행에는 'odd'를 각각 갖는다. 클래스 'even', 'odd'클래스 7 행, 'even'등으로 7 행을 생성하는 테이블에서 앞뒤로 교대로 5 개의 클래스 클래스를 가질 수 있으므로 동적 일 수 있습니다. 첫 번째 '홀수'클래스의 경우 '1'이되고, 다음 '짝수'클래스의 경우 '2'가되도록 각 클래스의 숨겨진 값이 설정됩니다. jquery를 사용하여 아무 소용이 없도록 시도했습니다. 내 jquery 기술은 꽤 제한되어 있습니다. jquery를 사용하여이 작업을 수행 할 수 있습니까? 아니면 다른 해결 방법이 있습니까?

답변

0

확인 현재의 클래스는 이전 클래스와 동일하고, 카운터

var i = 0; 

$('#my_table tr').each(function() { 
    if (this.className != ($(this).prev().length ? $(this).prev().get(0).className : '')) i++; 
    $(this).find('input').val(i); 
}); 

FIDDLE

+0

이 입력 종류가 ID로 텍스트 입력에 숨겨져 기반을 증가합니다. – user3287677

+0

@ user3287677 - 그게 무슨 상관이야? 결과를보기 위해 입력을 볼 수있게 만들었고 숨겨진 입력과 정확히 동일하게 작동하며 ID는 어떻게 관련이 있습니까? – adeneo

+0

네,이 덕분에 고마워했습니다 ... – user3287677

관련 문제