VisualForce, Apex:Wiederholen, für Javascript-array Aktualisieren

dies ist eine Erweiterung der Frage, die ich auf der Salesforce-Entwickler-boards, die nicht viel spielen:

Ich habe eine VisualForce-Seite, erfordert Häufig änderungen zum laden neuer Informationen aus dem controller und bettet diese Informationen in ein Javascript-array für die weitere Verwendung.

Aktuelle Lösung: rI ' ve hatte Erfolg mit VisualForce 'Browser-Technologien", wie hier beschrieben (in der Wiki): http://wiki.developerforce.com/index.php/Using_Browser_Technologies_in_Visualforce_-_Part_1

Ich die surround-Javascript-array.drücken Sie mit der empfohlenen tags:

<apex:repeat value="{!Object}" var="objects">       
    d.push( {
               element1: "{!objects.id}"            
    })
</apex:repeat>

Problem: Das array ist korrekt gefüllt, wenn eine komplette Aktualisierung der Seite füllt, und wenn ich mit meinem "Drop-down" zu ändern Sie den filter auf das Objekt (in der Steuerung), das DOM aktualisiert Wird (ich Kann sehen, dass neue Informationen auf der Seite platziert),

Letztendlich ist jedoch der Javascript-array nicht ändern, dass es Werte, es sei denn, nenne ich ein refresh auf der ganzen Seite, die Art von Niederlagen der Teilweisen Aktualisierung und ist eine Art von Schock für das system für die Nutzer.

Diese "notwendigen post" - Problem nicht ein problem vor, und auch wenn ich den direkten Aufruf der Javascript-Funktion enthält das array Bevölkerung nach dem DOM wurde aktualisiert die Javascript-array nicht ändern (Also ich gehe davon aus, dass es einmal geladen, basierend auf, was auf den DOM, wenn die Seite zunächst Beiträge zurück und kann nicht verändert werden.

Gedanken?

  • durch Partial Refresh meinst du einen AJAX-call?
  • Visualforce ist eine markup-Komponente namens "UpdatePanel", die gerendert wird als ein 'javascript' ajax-panel. Wenn die Seite gerendert wird, und neu gerendert, ajax-panel aufgerufen wird und die Informationen (in diesem Fall das Javascript-array-Komponenten neu geladen werden.
Schreibe einen Kommentar