Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Frage zu Jquery und Ajax (https://www.delphipraxis.net/175865-frage-zu-jquery-und-ajax.html)

franktron 24. Jul 2013 16:41

Frage zu Jquery und Ajax
 
Ich hab eine Seite in der ich eine Listview nachladen möchte das mach ich so

Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" href="jquery.mobile/jquery.mobile-1.2.0.css" />
<script src="jquery.mobile/jquery-1.8.2.js"></script>
<script src="jquery.mobile/jquery.mobile-1.2.0.js"></script>
<script type="text/javascript">//<![CDATA[
$(window).load(function(){
function updateliste() {
$('#liste').load("/admin?onlwebmode=update&id=liste");};
updateliste();
});//]]</script>
<style>
</style>
<title>Admin</title>
</head>
<body>
<p><div id="liste"><ul data-filter="true" data-role="listview">
</ul>
</div></p></body>
</html>
Das Klappt auch aber leider hat die Listview kein CSS und Javscript mehr, wie kann ich das ändern.

Phoenix 24. Jul 2013 17:45

AW: Frage zu Jquery und Ajax
 
Das jQuery .load ersetzt den vollständigen Inhalt des angegebenen Elementes mit dem Ergebnis der erhaltenen Response.

Das heisst bei Dir sieht der Schnippsel dann so aus:

Code:
<div id="liste">RESPONSE</div>
Vermutlich liefert die Response aber nur die li-Elemente ohne das ul drumrum aus, und damit greift das CSS nicht mehr.

Ganz by the way:
Code:
$(window).load(function(){
  function updateliste() {
    $('#liste').load("/admin?onlwebmode=update&id=liste");
  };
  updateliste();
});
Würde man anders machen. Zum einen mal macht heute keiner mehr CDATA.
Zum anderen hat jQuery eigene Events und arbeitet deutlich mehr mit Callbacks und nicht mit einzeln definierten Funktionen. Das würde also eher so aussehen:
Code:
<script type="text/javascript>
$(function() {
    $("#liste").load("url");
});
</script>

Phoenix 24. Jul 2013 18:08

AW: Frage zu Jquery und Ajax
 
Achso.. Wo wir grad dabei sind: Div's lassen sich nicht in p's schachteln. Das ist invalides HTML.

franktron 25. Jul 2013 08:30

AW: Frage zu Jquery und Ajax
 
Als der Load Befehl gibt das hier zurück


Code:
<div id="liste"><ul data-filter="true" data-role="listview">
<li id="ListItem5"data-icon="delete" ><a href="#"><h3>frank</h3><p>5</p>
</a></li>
</ul>
</div>

Phoenix 25. Jul 2013 10:29

AW: Frage zu Jquery und Ajax
 
Ah. Dann verdoppelst du das div, denn dann wird ja das zurückgegebene Div #liste in das existierende div #liste gepackt.

DonManfred 30. Jul 2013 07:00

AW: Frage zu Jquery und Ajax
 
Zitat:

Zitat von franktron (Beitrag 1222606)
Als der Load Befehl gibt das hier zurück

Code:
<div id="liste"><ul data-filter="true" data-role="listview">
<li id="ListItem5"data-icon="delete" ><a href="#"><h3>frank</h3><p>5</p>
</a></li>
</ul>
</div>

und mit der Info von Phoenix

Zitat:

Zitat von Phoenix (Beitrag 1222559)
Das jQuery .load ersetzt den vollständigen Inhalt des angegebenen Elementes mit dem Ergebnis der erhaltenen Response.

Das heisst bei Dir sieht der Schnippsel dann so aus:

Code:
<div id="liste">RESPONSE</div>

Demnach sollte load also folgenden Code geliefert bekommen:

Code:
<ul data-filter="true" data-role="listview">
<li id="ListItem5"data-icon="delete" ><a href="#"><h3>frank</h3><p>5</p>
</a></li>
</ul>

DonManfred 30. Jul 2013 07:11

AW: Frage zu Jquery und Ajax
 
Zitat:

Zitat von franktron (Beitrag 1222606)
Tux sein Lieblingsquellcode
While anzfische<TuxSatt do
Fisch:=TFisch.Create; Fisch.TuxEssenFisch; Fisch.Free;

OT: Ich kanns mir nicht verkneifen ;-)

Also Richtig formatiert sieht der Code dann SO aus:

Code:
While anzfische<TuxSatt do
  Fisch:=TFisch.Create;
Fisch.TuxEssenFisch;
Fisch.Free;
Nur doof das Tux hier in einer Endlichschleife gerät wenn zu Beginn der Schleife anzfische < TuxSatt ist... Milliarden von FischCREATEions aber keiner landet auf dem Teller :D


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:58 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz