2010-07-29 85 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

相关问题