안녕하세요, StackOverflow 커뮤니티,자바 스크립트 및 조건부 동작이있는 VF PageBlockTable
저는 Forceforce에서 개발했으며 Visualforce 및 Apex에서 강력합니다. 나는 Javascript가 강하지는 않지만 필요한 경우에 얻는 경향이 있습니다. 최근 프로젝트에서 나는 아주 기본적인 것을 고심하고 있으며 SO가 도움을받을 수있는 최고의 장소라고 생각했습니다.
저는 apex : pageblocktable을 사용하여 사용자에게 "사용 가능한 동작"을 유도합니다. 기본적으로 페이지가로드되고 시스템은 외부 정적 "action"테이블을 쿼리하고 현재 레코드의 데이터를 작업 테이블 레코드와 비교합니다. 완료되면 사용자에게 사용 가능한 조치 결과가 표시됩니다.
하나의 문제가 있습니다. 사용자가 일반 작업을 선택하기 때문에 매개 변수로? id =를 전달할 수없는 작업이 있습니다. 이 문제를 해결하려면 내 자바 스크립트 수식 내에서 간단한 IF 조건이 필요합니다. 아래 코드를 게시했습니다 ... 귀하의 생각은?
미리 감사드립니다.
현재 코드 :
<apex:pageBlock mode="edit" title="Other Actions">
<apex:pageBlockTable value="{!OtherActions}" var="action">
<apex:column>
<a href="javascript:sforce.console.openPrimaryTab(null, 'https://na15.salesforce.com/apex/{!action.URL__c}?actionname={!action.Name}', true, null, null, null);">{!action.Name}</a>
</apex:column>
</apex:pageBlockTable>
</apex:pageBlock>
내 시도 : 작품 아래
코드입니다. 그러나 어떤 이유로 사용자가 선택한 동작이 마치 목록의 마지막 동작 인 것처럼 동작합니다. 예를 들어 세 가지 동작이로드되고 두 번째 동작을 선택하면 당신은 항상 ...
<apex:pageBlock mode="edit" title="Other Actions">
<apex:pageBlockTable value="{!OtherActions}" var="action">
<apex:column>
<a href="#" onclick="MyFunction();return false;">{!action.Name}</a>
<script type="text/javascript">
function MyFunction() {
if({!action.Name} == 'Test'){
sforce.console.openPrimaryTab(null , 'https://na15.salesforce.com/apex/{!action.URL__c}?id={!action.id}&actionname={!action.Name}', true, ' ', null, null);
}
else{
sforce.console.openPrimaryTab(null , 'https://na15.salesforce.com/apex/{!action.URL__c}?actionname={!action.Name}', true, ' ', null, null);
}
}
</script>
</apex:column>
</apex:pageBlockTable>
</apex:pageBlock>