2010-07-29 3 views
0

이 코드는 Visualforce (salesforce의 페이지 편집기 언어)에 있습니다. 기본적으로 apex : repeat 태그는 일종의 루프로 작동하여 출력 링크에서 일련의 URL을 생성합니다. 이러한 URL에는 모두 "이름"의 클래스가 있습니다.Visualforce에서이 jquery가 작동하지 않는 이유는 무엇입니까?

jquery는 클래스 이름이있는 모든 URL을 찾아서 클릭하여 새 창에서 열 수 있습니다. 작동하지 않습니다. 당신이 그렇게 할 경우

<apex:page standardcontroller="Account" extensions="maininvoice"> 

<apex:repeat value="{!theListOfIDs}" var="anId"> 
    <apex:outputLink target="_blank" value="{!URLFOR($Page.invoice2,anId)}" styleClass="name" /> 
</apex:repeat> 

<apex:includeScript value="{!URLFOR($Resource.jquery, 'js/jquery-1.4.2.min.js')}"/> 
<script type="text/javascript"> 
var j$ = jQuery.noConflict(); 
j$(document).ready(function(){ 

$('.name').click(); 
alert("debug"); 
       } 
       ); 

</script> 

</apex:page> 

답변

2

.click() (예 :/링크를 따라 창을 개방) 기본 동작이 발생하지 않습니다, 당신은 다음과 같이 자신을 window.open()를 호출해야합니다 :

var j$ = jQuery.noConflict(); 
j$(function(){ 
    $('.name').each(function() { 
    window.open(this.href); 
    }); 
    alert("debug"); 
}); 

비록 대부분의 브라우저가이 작업을 수행하지 못하도록 차단하고 추천 할 항목이 무엇인지 모르고 있습니다. 개인적으로 페이지로드시에도 창을 여는 것을 싫어합니다.

+0

답장을 보내 주셔서 감사합니다. 해결 방법을 제안 할만한 다른 방법이 있습니까 – Sean

+0

닉스 코드가 작동하는지 확인하려면 http://jsbin.com/adome/edit – Daveo

+0

이 정확한 코드는 salesforce에서 작동하지 않습니다. – Sean

관련 문제