• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

[GELÖST] Elemente einer Klasse nacheinander mittels Ajax mit neuem Inhalt füllen

rookieman

New member
Hallo zusammen,

verzweifle seit gestern Abend an einer an und für sich nicht all zu komplexen Aufgabe.

Ich habe auf einer Seite eine Reihe von Einträgen (class="item"). Nach dem Aufbau der Seite soll per Ajax anhand der Position des Nutzers (Geolocation per HTML5) hinter jedem Eintrag die Entfernung angezeigt werden. Das PHP-Script zur Distanzberechnung steht, die Abfrage und Eintrag eines einzelnen Elements bekomme ich hin, wie aber sage ich per JavaScript, bzw. jQuery als genutztem Framework:

Gehe nacheinander alle Elemente der Klasse "item" durch, und ersetze den Inhalt im enthaltenen span durch die vom Script dist.php gelieferten Werte.

Help! :)
 
Zuletzt bearbeitet von einem Moderator:
Hi,

leider erkennt man nicht, woher deine Einträge in den Items kommt. Von daher hab ich dir mal ein Beispiel gemacht, welches funktioniert.
Musst halt nur deine Sachen daraus ableiten. Das ganze ist mit JQuery umgesetzt !

Als erstes musst du ja irgendwo was eingeben in deinem .item, damit die PHP Funktion was verarbeiten kann.
Am einfachsten ist es, wenn du neben der Klasse ein weiten Tag setzt. Zum Beispiel so:
PHP:
<p class="item" geo="Hamburg"></p>
<p class="item" geo="Berlin"></p>
<p class="item" geo="Wuppertal"></p>
<p class="item" geo="Kiel"></p>

Und jetzt kannst du ganz einfach mit JQuery alle Items abfragen.
PHP:
$('.item').each(function(){	
		var geo = $(this).attr('geo');
		
		$.ajax({
			url: "php/function.php", 
			data: geo,
			success: function(result){
				$(this).text(result);
			}
		});
		
	});

Du fragst hier mit each nacheinander alle .items ab, ziehst dir mit der angefügten Information im jeweiligen Item ein Wert ab und gibst es dann an die Funktion weiter. Das Endresultat bekommst du dann im result vom success und spuckst das danach wieder Sichtbar in das HTML-Element rein.

Gruß,
Terra
 
Zuletzt bearbeitet:
terra, wieso soll er sich denn jetzt noch mit jQuery beschäftigen? Eine Iteration über ein Array ist ohne jQuery auch nicht mehr oder besserer Code und den Ajax Teil hat er schon.
 
terra, wieso soll er sich denn jetzt noch mit jQuery beschäftigen?

Weil er das im ersten Beitrag vorgeschlagen hat: :)
wie aber sage ich per JavaScript, bzw. jQuery als genutztem Framework

Und zum anderen konnte ich aus seinem ersten Beitrag null Schlüsse über seinen bereits erstellten Code schließen. Von daher hab ich nur ein Beispiel vorgegeben. Was daraus gemacht wird, ist eine andere Sache. Natürlich geht das ganze auch einfach nur mit Javascript ohne Framework.

Terra
 
Zuletzt bearbeitet:
elemente im Array und dann mit each durchlaufen. Jetzt passt alles.

Besten Dank für den Schubs in die richtige Richtung - und natürlich auch für das Beispiel, das ich allerdings zu spät bemerkt habe :D Da war schon alles fertig.
 
Zurück
Oben