2010-07-19 1 views
1

친구,Apex 테이블 형식의 현재 행을 식별하는 방법은 무엇입니까?

사용자가 현재 어떤 표 형식의 행을 확인했는지 확인하기 위해 다음 JavaScript를 작성했습니다. 즉, 행 4의 선택 목록을 클릭했습니다. 행 번호가 있어야이 행에있는 필드의 올바른 값을 가져올 수 있습니다. 그러면이 행에서 몇 가지 추가 처리를 수행 할 수 있습니다.

이 자바 스크립트는 트리거하는 항목의 ID를 가져옵니다. 예 : f02_0004 이는 4 행의 2 열의 선택 목록이 선택되었음을 나타냅니다. 따라서 자바 스크립트는 행 정보 즉 0004를 가져 와서이 행의 다른 필드를 참조하는 데 사용하고 현재 올바른 값을 표시하는 값을 출력합니다. 이 하다니

<script language="JavaScript" type="text/javascript"> 
    function cascade(pThis){  
     var row = getTheCurrentRow(pThis.id); 
     var nameAndRow = "f03_" + row; 
     var costCentre = $x(nameAndRow).value; 
     alert("the cost centre id is " + costCentre); 

} 
    // the triggerItem has the name fxx_yyyy where xx is the column number and 
    // yyyy is the row. This function just returns yyyyy  
    function getTheCurrentRow(triggerItem){ 
     var theRow = triggerItem.slice(4); 
     return theRow;   
} 

는, 내가 다시 발명해야한다는 바퀴 느낌을 도울 수 없어요 작동하고 그 중 하나 가 내장에서 "더 나은"방법 아마이 경우 내가 사용 또는 수의? 필요한 경우에 나는 당신이 제공 할 수있는 미리 에이펙스 4.0

감사를 사용하고

.

답변

2

글쎄, 당신이 묘사 한 것은 정확히 내가 일반적으로하는 일입니다.

에이펙스 4.0의 대안은이 같은 DOM 뭔가를 탐색 할 jQuery를 사용하는 것입니다 :

var costCentre = $(pThis).parents('tr').find('input[name="f03"]')[0].value; 

나는 이것을 테스트 한 내 테스트 형태로 확인을 작동합니다.

+0

알아두면 좋습니다! jQuery 앵글을 주셔서 감사합니다. jQuery는 속도를 높이기 위해 필요한 시간이므로 허용하는 시간은 두 가지 방법 모두 시도해 볼 수도 있습니다. –

관련 문제