DropDown-Menü bei AJAX-Fenster Schließung neu laden

Johnnii360

Erfahrenes Mitglied
Hey zusammen!

Ich stehe mal wieder vor einem Problem, bei dem ich keine Ahnung habe wie ich es lösen soll. Leider hat mir Google nichts verwertbares ausgeworfen - wenn dann nur für ASPx.

Ich öffne mit einem Klick auf ein Image ein Fancybox2 iFrame Fenster auf - soweit so gut. Dort trage ich dann meinen Schnodder ein und schick die Schoße ab, die in die MySQL eingetragen wird. So, nun will ich das Fenster schließen bzw. schließe es. Nun soll das DropDown-Menü namens "cid" auf der Seite, von der ich das Fancybox2 Fenster aufrufe, neu geladen werden (nicht das komplette Dokument).

Würde mich über Eure Hilfe sehr freuen.

Vielen Dank schon mal im Voraus! :)
 
Kannst du nicht mit window.focus arbeiten?

Javascript:
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script language="javascript" type="text/javascript">
$(document).ready(function(){

	$(window).focus(function() {
		var uhrzeit = new Date();
		$("#zeit").text(uhrzeit.getTime());
	});

	$("#meldung").click(function() {
		alert("Fenster bekommt den Fokus nach dem Bestätigen wieder zurück.");
	});
});
</script>

<div id="meldung">Meldung anzeigen</div>
<br />
<div id="zeit"></div>

Im Beispiel wird ein Timestamp als Kontrolle angezeigt so bald das Fenster den Fokus bekommt.
 
Nja, dass ist nicht das Problem. Das Problem ist: Wie refreshe/reloade ich nur ein Dropdown-Menü ohne das komplette Dokument zu reloaden?
 
Also wie es bei dir aussehen muss, kann man ohne den Code zu kennen kaum sagen.

Generell sollte dir aber die load-Funktion oder eben die ajax-Funktion helfen.

Wobei beide der Funktionen durch irgendein Ereignis ausgelöst werden müssen, da hilft dann mein erster Vorschlag. Aber das wußtest du ja anscheined schon.
 
Der Code des Dropdowns sieht so aus:

PHP:
<select id="cid" name="cid" style="width: 250px;">
	<option selected="selected" disabled="disabled" value="0">&nbsp;</option>
	<?php
		/*
		 * List categories
		 */
		$Categories = mysqli_query($SQLDBConnect, "SELECT * FROM ".$tab_reviews."_categories ORDER BY name ASC") or print("<option>".mysqli_error($SQLDBConnect)."</option>");
		while($Category = mysqli_fetch_assoc($Categories))
		{
			echo'<option value="'.$Category['id'].'">'.$Category['name'].'</option>';
		}
	?>
</select>
 
Lagere diesen Code in eine separate Datei aus und lade ihn dann mit einer der oben genannten Funktionen z.B. in einen DIV-Container nach.

Das wäre die Seite welche die Liste enthält:

HTML:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){

	$.ajax({
  		type: "GET",
  		async: false,
  		url: "test.txt",
  		success: function(option){
			daten = option;
		}
	});
	$("#liste").html(daten);

});
</script>

<select id="liste">
<!-- Hier wird mit Hilfe der jQuery Funktion der Inhalt eingetragen -->
</select>

und das wäre die Seite/die Datei welche die Einträge für die Liste liefert:

HTML:
<option value="Wert 1">Wert 1</option>
<option value="Wert 2">Wert 2</option>
<option value="Wert 3">Wert 3</option>
<option value="Wert 4">Wert 4</option>
<option value="Wert 5">Wert 5</option>
 
Jo, funktioniert prima. NUN ist aber noch die Frage: Wie lade ich dann nach schließen des Dialogs den Inhalt dieses Dropdowns neu (das was mit jQuery eingebunden wird)? :) Ich kenn' leider nur die Funktion ein Dokument also die komplette Seite neu zu laden aber nicht ein Element bzw. einen DIV-Container.
 

Neue Beiträge

Zurück