Frage

Ich glaube, mein Problem liegt mehr in meinem Ansatz und wendet mehr auf jquery, aber etwas seltsam ist hier passiert.

Ich bin mit jQuery & jQTouch. Mein HTML ist:

<div id="home" class="current">
    <div class="toolbar">
        <h1>Header</h1>
    </div>
    <ul class="rounded">
        <li class="arrow"><a href="#currentloc">Current Location</a></li>
    </ul>       
</div>
<div id="currentloc">
    <div class="toolbar">
        <h1>Nearby</h1>
    </div>
</div>

Was ich versuche zu tun ist, wenn ein Benutzer den Aufenthaltsort Link klickt, auf pageAnimationEnd Ich mag würde eine Seite laden und es zu #currentloc anhängen. Hier ist mein Code:

$('#currentloc').bind('pageAnimationEnd', function(e, info){
    $(this).load('results.php');
});

Wie Sie sehen können, wird dies ganz den Inhalt #currentloc ersetzen. Ich bin mir nicht sicher, wie ich den Inhalt results.php anhängen, ohne zu ersetzen, was schon da ist. Ich habe bei setzen die Ajax-Ladeanfrage innerhalb von append sah:

$(this).append(load('results.php'));

aber das total nicht funktioniert ...

Jede Idee, was tun?

UPDATE

Eine Sache, die ich habe versucht, die funktioniert, aber fühlt sich ein wenig ungeschickt ist

$('#currentloc').bind('pageAnimationEnd', function(e, info){
 $(this).append('<ul></ul>');  
 $(this).find('ul').load('results.php');
});

Fühlen Sie sich wie es eine bessere Lösung für dieses Problem.

War es hilfreich?

Lösung

Die Ladefunktion in jquery ersetzt den Inhalt, so dass Sie ein anderes Element erstellen müssen, wenn Sie den aktuellen Inhalt behalten möchten. Sie können Ihren Code könnte ein wenig kürzer machen, wenn Sie den Aufruf der Suchfunktion entfernen.

$('#currentloc').bind('pageAnimationEnd', function(e, info){
   $(this).append($('<ul />').load('results.php'));   
});

oder

$('#currentloc').bind('pageAnimationEnd', function(e, info){
   $('<ul />').load('results.php').appendTo(this);   
});
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top