2010-07-29 67 views
0

此代碼使用visualforce(salesforce的頁面編輯器語言)。基本上,頂點:重複標籤函數作爲一種循環,從outputlink生成一組url。所有這些網址都有一個「名稱」類。爲什麼這個jQuery在visualforce中不起作用?

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 2010-07-29 02:22:56

+0

尼克斯代碼確實有效,請參閱此處的示例http://jsbin.com/adome/edit – Daveo 2010-07-29 02:47:28

+0

奇怪的是,此確切代碼在salesforce中不起作用。 – Sean 2010-07-29 14:08:01