Antworten auf deine Fragen:
Neues Thema erstellen

Liste mit jQuery/Ajax erweitern

augentier

...neu

Hallo,

ich brauche für ein Projekt eine Liste die sich dynamisch mit jQuery/Ajax erweitert.

Ich habe also eine ganz normale Liste
HTML:
<ul>
  <li>vor 1 Minuten: Lorem ipsum</li>
  <li>vor 4 Minuten: dolor sit</li>
  <li>vor 6 Minuten: Blabla</li>
  <li>vor 10 Minuten: Der Hahn ist tot</li>
</ul>

Zu dieser Liste sollen jetzt neue Listenelemente (per jQuery/Ajax) hinzugefügt werden.
HTML:
<ul>
  <li>vor 8 Sekunden: noch neuer Nachricht</li>  <!-- Per jQuery/Ajax hinzugefügt -->
  <li>vor 20 Sekunden: Neue Nachricht</li>  <!-- Per jQuery/Ajax hinzugefügt -->
  <li>vor 1 Minuten: Lorem ipsum</li>
  <li>vor 4 Minuten: dolor sit</li>
  <li>vor 6 Minuten: Blabla</li>
  <li>vor 10 Minuten: Der Hahn ist tot</li>
</ul>

Mir ist es bereits gelungen mit Ajax/load die Liste zu ersetzten. Manupulation/prepend hat leider auch nicht funktioniert.

Ich bin ziemlich unerfahren in JavaScript, mit Ajax arbeite ich zum ersten mal. Ich hoffe ich konnte trotzdem mein Problem verständlich schildern.
 

sokie

Mod | Web

AW: Liste mit jQuery/Ajax erweitern

Normalen Text hinzuzufügen habe ich bereits geschafft, aber der Text soll ja praktisch aus einer anderen Datei kommen (Ajax) und das funktionierte nicht.

it es nicht unerheblich, ob dein Text 'normal' da eingefügt wird, oder das Ergebnis eine Requests ist?

Code:
//ein String
[B]prepend[/B]("<b>Hello </b>");

//inhalt einer variable

var meineVar = "<b>hallo Welt</b>";

[B]prepend[/B](meineVar);
meineVar könnte genauso auch ein String sein, den du aus deinem httpRequest holst, oder ?

Schau dir doch mal dieses Tutorial an.



FlashSoft

da hat jquery auf der Homepage selbst eine bessere Dokumentation.
 
Zuletzt bearbeitet:

augentier

...neu

AW: Liste mit jQuery/Ajax erweitern

Ja soweit habe ich das auch verstanden.

Folglich müsste folgender Code funktionieren. Tut er aber nicht.
Code:
  var meineVar = load("feed.php");
  $("ul").prepend(meineVar);

Allerdings funktioniert das:
Code:
  $("ul").load("feed.php");
 

uracil

Aktives Mitglied

AW: Liste mit jQuery/Ajax erweitern

Ja soweit habe ich das auch verstanden.

Folglich müsste folgender Code funktionieren. Tut er aber nicht.
Code:
  var meineVar = load("feed.php");
  $("ul").prepend(meineVar);

Allerdings funktioniert das:
Code:
  $("ul").load("feed.php");

der grund is, dass prepend das dann vor das DOM element "ul" hängt, also nicht in die liste.
was du machen kannst, ist die alten inhalte auslesen, deins anhängen und wieder schreiben.
is zwar ein kleiner workaround, aber so würde ich es machen.

Code:
var old = $('ul').html();
var neu = "<li>test</li>" + old;
$('ul').html(neu);
(das funktioniert bei mir)

oder mit der ajax load funktion:
Code:
var old = $('ul').html();
var neu = load("feed.php") + old;
$('ul').html(neu);
(das hab ich nicht ausprobiert)

Hoffe ich konnte helfen.

Grüße,
uracil
 

augentier

...neu

AW: Liste mit jQuery/Ajax erweitern

Hab's jetzt hinbekommen.
Altes auslesen und dann den Ajax-Inhalt hinten anhängen.

Musterlösung
Code:
$(document).ready(
function feed(){
var $old = $("ul").html();
$("ul").load('feed.php',function(){ 
        $(this).append($old); 
	});
setTimeout(feed, 1000);	
}
);

@uracil
Deins wird wahrscheinlich nicht funktionieren, da load() immer direkt nach den Selektoren stehen muss.
 
Zuletzt bearbeitet:
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Keine Mitglieder online.

Statistik des Forums

Themen
118.611
Beiträge
1.538.341
Mitglieder
67.524
Neuestes Mitglied
BSKGA
Oben