2011-03-14 2 views
0

데이터 목록을 보여주는 테이블을 만들었습니다. 이 테이블에는 두 행을 병합하는 것이 포함되어 있습니다. 실제로는 그렇게 보일 필요가 있습니다. 까다로운 문제는 단일 행을 강조 표시하려고했을 때 발생했습니다. 그것은 하나의 TR은 내가 전체 행을 강조 수있는 방법병합 된 셀이 있지만 선택한 행 이벤트를 만들 수 있습니까?

single TR is highlighted but the following TR is not

스크립트

<script type="text/javascript"> 
var preEl ; 
var orgBColor; 
var orgTColor; 

function HighLightTR(el, backColor,textColor){ 
    if(typeof(preEl)!='undefined') { 
    preEl.bgColor=orgBColor; 
    try{ChangeTextColor(preEl,orgTColor);}catch(e){;} 
    } 
    orgBColor = el.bgColor; 
    orgTColor = el.style.color; 
    el.bgColor=backColor; 


    try{ChangeTextColor(el,textColor);}catch(e){;} 
    preEl = el; 
} 


function ChangeTextColor(a_obj,a_color){ ; 
    for (i=0;i<a_obj.cells.length;i++) 
    a_obj.cells(i).style.color=a_color; 
} 

HTML

<tr onClick="HighLightTR(this,'#c9cc99','cc3333');" > 
</tr> 

강조 밝혀 (두 번째 열은있다 두 행) 도움을 주셔서 감사합니다 ...^_^

답변

0

첫 번째와 두 번째 열의 두 번째 행은 다른 행 개체입니다. 해당 행의 색상도 변경해야합니다.

즉, elpreEl은 각각 한 행 대신 여러 행이어야합니다.

행에 클래스를 추가/제거하고 JavaScript가 아닌 CSS에서 색상을 변경한다고 생각하십니까?

+0

구름을 내게 간단한 예를 들어 주시겠습니까? 그래서 나는 그것에 대해 연구 할 수있다. – Fon

+0

질문 : 어디에서'엘 '을 얻습니까? 'preEl'은 * previous *'el' 만 저장한다고 가정합니다. 그러나'el'은 어디서 구할 수 있습니까? 어떤 행? 각 데이터 항목에 대해 * 2 개의 행을 실제로 만들었습니다. 마지막 두 개의 열에서는 두 번째 행이 보이지 않도록 숨겨져 있습니다. 마지막 두 개의 열에서 하나를 볼 수 있기 때문에 * 하나의 행이 있음을 의미하지는 않습니다. –

관련 문제