Почему этот jquery в visualforce не работает? - PullRequest
0 голосов
/ 29 июля 2010

Этот код написан на visualforce (язык редактора страниц salesforce).В основном теги apex: repeat функционируют как своего рода цикл, генерирующий набор URL-адресов из outputlink.Все эти URL-адреса имеют класс «name».

Что нужно сделать 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>

1 Ответ

2 голосов
/ 29 июля 2010

A .click() не вызовет поведения по умолчанию (например, по ссылке / открытию окна), если вы хотите, чтобы это произошло, вам придется вызвать window.open() себе, вот так:

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

Обратите внимание, однако, что большинство браузеров не позволяют вам делать это, не зная, что порекомендовать, и я лично не хотел бы открывать окна и при загрузке страницы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...