php.de

Zurück   php.de > Webentwicklung > JavaScript, Ajax und mehr

JavaScript, Ajax und mehr dynamisches Scripten und Interaktion auf Clientebene

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 24.03.2011, 23:41  
Erfahrener Benutzer
 
Benutzerbild von dreamcatcher
 
Registriert seit: 28.12.2010
Beiträge: 599
PHP-Kenntnisse:
Anfänger
dreamcatcher wird schon bald berühmt werden
Standard [Erledigt] JS / jQuery Parent der Function zugreifen möglich ?

Guten Abend,

ich möchte auf eine übergeordnete Funktion zugreifen.

PHP-Code:
$('#dialog').dialog({

buttons: { 
                        
"Save": function(){
                                 $.
post('bla.php', {var1:var1}, function(){
                                         $(
this).dialog('close');
                                 }
                        }
}) 
An sich würde dies funktionieren, da ich aber in der neuen function von $.post bin, funktioniert es leider nicht mehr.

Ich habe nach parent/parens von jQuery gegoogelt, stieß auch auf einen Artikel jedoch beschreibt dieser nur wie man im Dom zum parent kommt, aber kein Parent wie ich ihn für z.B. diese function() benötige.

Weiß jemand wie dies geht bzw. ist es überhaupt möglich ?

Versucht habe ich u.a.:

PHP-Code:
$(this).parent().dialog('close');
$(
this).parents().dialog('close'); 
dreamcatcher ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 24.03.2011, 23:45  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

Funktionen haben keine „parents“.

Vermutlich suchst du einfach nur Closures.
http://aktuell.de.selfhtml.org/artik...tion/#closures
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline   Mit Zitat antworten
Alt 25.03.2011, 00:25  
Erfahrener Benutzer
 
Benutzerbild von dreamcatcher
 
Registriert seit: 28.12.2010
Beiträge: 599
PHP-Kenntnisse:
Anfänger
dreamcatcher wird schon bald berühmt werden
Standard

Du bist ein Goldstück

Genau das war es, mit ein bisschen Gehirnschmalz hätte man da aber auch selbst drauf kommen müssen... der Begriff war mir jedoch bisher noch nicht geläufig.

Lösung:

PHP-Code:
$('#dialog').dialog({

buttons: { 
                        
"Save": function(){

                                 
//custom closure for $.post function()
                                 
var closeDialog = $(this).dialog('close'); 

                                 $.
post('bla.php', {var1:var1}, function(){
                                         
closeDialog;
                                 }
                        }
}) 
Natürlich kann man auch, wie in deinem Link beschrieben eine Referenz auf this anlegen.

Geändert von dreamcatcher (25.03.2011 um 00:37 Uhr).
dreamcatcher ist offline   Mit Zitat antworten
Alt 25.03.2011, 10:26  
Erfahrener Benutzer
 
Registriert seit: 30.07.2008
Beiträge: 1.167
PHP-Kenntnisse:
Fortgeschritten
xm22 sorgt für eine eindrucksvolle Atmosphärexm22 sorgt für eine eindrucksvolle Atmosphärexm22 sorgt für eine eindrucksvolle Atmosphäre
Standard

Zitat:
Funktionen haben keine „parents“.
$(this) gibt eine Liste mit Objekten zurück, die in der Tat parents haben, was jeweils wiederum eine Liste mit Objekten zurück gibt.
xm22 ist offline   Mit Zitat antworten
Alt 25.03.2011, 12:33  
Erfahrener Benutzer
 
Registriert seit: 28.05.2008
Beiträge: 2.094
PHP-Kenntnisse:
Fortgeschritten
rudygotya ist einfach richtig nettrudygotya ist einfach richtig nettrudygotya ist einfach richtig nettrudygotya ist einfach richtig nettrudygotya ist einfach richtig nett
Standard

@dreamcatcher: Das keine closure, closeDialog ist eine Referenz auf $('#dialog'). Wobei du im Moment vorher schließt ohne die Antwort des Servers zu überprüfen.

$(this) ist in dem Kontext das ursprüngliche Dialog-Element, eingepackt in jQuery-Zuckerguss. Und damit keine Liste von Objekten
__________________
++++ Wieder einer ins Netz gegangen: Phishers Fritz zufrieden ++++
Blog
rudygotya ist offline   Mit Zitat antworten
Alt 25.03.2011, 23:01  
Erfahrener Benutzer
 
Benutzerbild von dreamcatcher
 
Registriert seit: 28.12.2010
Beiträge: 599
PHP-Kenntnisse:
Anfänger
dreamcatcher wird schon bald berühmt werden
Standard

@rudygotya: für das obere Beispiel hast du Recht

Den Lösungsweg hatte ich zu erst kopiert.
Als ich dann eine andere Lösung bevorzugte (siehe unten), schrieb ich darauf hin den Text.

Meine tatsächliche Lösung worauf der Text sich bezog ist folgende:

PHP-Code:
$('#dialog').dialog({

buttons: { 
                        
"Save": function(){

                                 
//custom closure for $.post function()
                                 
var thisDialog this

                                 $.
post('bla.php', {var1:var1}, function(){
                                         $(
thisDialog).dialog('close');
                                 }
                        }
}) 
dreamcatcher ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] jQuery draggable im kleineren Parent BlackScorp JavaScript, Ajax und mehr 0 28.06.2010 13:13
Auf Echo/Daten mittels URL einer anderen Datei zugreifen, möglich? beta02 PHP Tipps 2009 2 01.07.2009 18:25
[Erledigt] von static function auf andere zugreifen Felix PHP Tipps 2009 3 15.04.2009 11:55
JS: Einführung - Javascript im Schichtenmodell nikosch Tutorials 4 11.04.2009 17:06
jQuery Plugin - so richtig? stayInside JavaScript, Ajax und mehr 5 23.02.2009 12:34
[Erledigt] function() djscaleo PHP Tipps 2009 11 21.01.2009 17:00
[Erledigt] Verliere Zuordung in einer JS Klasse tomtaz JavaScript, Ajax und mehr 2 08.12.2008 21:55
[Erledigt] Vererbung - Zugriff auf Elternmethoden nicht möglich unimow PHP Tipps 2008 5 03.11.2008 18:53
Fehlermeldung : Call to a member function foo() on a non-object Mark Taylor PHP Tipps 2008 4 14.09.2008 20:38
GD-Spezialisten gesucht....wer kann helfen? rezix PHP Tipps 2008 12 26.02.2008 17:55
Call to a member function on a non-object Riks PHP Tipps 2007 20 10.02.2007 22:59
Einfach Datepicker gesucht Cyberbob_at_tot PHP Tipps 2007 5 14.11.2005 09:10
function in einer function - help! PHP Tipps 2005-2 4 25.10.2005 00:20
[Erledigt] Datenbank nicht erreichbar PHP Tipps 2005-2 27 19.08.2005 12:20
[Erledigt] OOP: function in eine andere function einbinden PHP Tipps 2005 10 20.03.2005 16:13

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
jquery parent, jquery auf parent zugreifen, jquery parent function, jquery parent this, jquery ajax parent function, jquery auf funktion zugreifen, javascript auf funktion zugreifen, parents jquery, jquery parents, jquery liegt in parent, jquery parent funktionsaufruf, jquery parent funktion, jquery parent zugriff, jquery function this parent, js auf übergeordnete function zugreifen, jquery auf draggable zugreifen, jquery draggable nur im elternelement, parents funktion, von einer js auf funktion einer anderen zugreifen, jquery parent.$ function

Alle Zeitangaben in WEZ +2. Es ist jetzt 09:32 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum