<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Stetix &#187; javascript</title>
	<atom:link href="http://stetix.de/tag/javascript/feed" rel="self" type="application/rss+xml" />
	<link>http://stetix.de</link>
	<description>Gedanken über Web-Development, Webdesign, Technik, Handys, Musik, Vinyl, Gadgeds und mehr..</description>
	<lastBuildDate>Thu, 12 Apr 2012 20:35:06 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Höhe von HTML-Elementen automatisch anpassen &#8211; mit jQuery und Javascript</title>
		<link>http://stetix.de/hoehe-von-html-elementen-automatisch-anpassen-jquery-und-javascript.html</link>
		<comments>http://stetix.de/hoehe-von-html-elementen-automatisch-anpassen-jquery-und-javascript.html#comments</comments>
		<pubDate>Wed, 22 Sep 2010 20:09:40 +0000</pubDate>
		<dc:creator>Nico</dc:creator>
				<category><![CDATA[Webdesign]]></category>
		<category><![CDATA[Webentwicklung]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>

		<guid isPermaLink="false">http://stetix.de/?p=1550</guid>
		<description><![CDATA[Oft kommt es vor, das man zwei oder mehr Elemente, sei es nun ein Layer, Bild oder was auch immer, mit gleicher Höhe darstellen will. Das stellt bei statischen Inhalten überhaupt kein Problem dar, gibt es doch die schöne CSS-Eigenschaft height. Was aber, wenn wir dynamische Inhalte darstellen wollen und gar nicht wissen wieviel Inhalt [...]
No related posts.]]></description>
			<content:encoded><![CDATA[<p><img src="http://stetix.de/wp-content/uploads/2010/09/boxes1.gif" alt="boxes1 Höhe von HTML Elementen automatisch anpassen   mit jQuery und Javascript" title="boxes" width="150" height="82" class="alignright size-full wp-image-1581" />Oft kommt es vor, das man zwei oder mehr Elemente, sei es nun ein Layer, Bild oder was auch immer, mit gleicher Höhe darstellen will. Das stellt bei statischen Inhalten überhaupt kein Problem dar, gibt es doch die schöne <a href="http://de.wikipedia.org/wiki/Cascading_Style_Sheets">CSS</a>-Eigenschaft <a href="http://www.css4you.de/height.html">height</a>. </p>
<p>Was aber, wenn wir dynamische Inhalte darstellen wollen und gar nicht wissen wieviel Inhalt wir pro Element bekommen. Bei Texten, längeren Namen or whatever aus einer Datenbank ist dies oft der Fall. Durch den unterschiedlich langen Inhalt werden die Elemente nun dementsprechend anders hoch dargestellt. Das sieht bei Elementen die wir nebeneinander zeigen möchten meistens ziemlich doof aus.  </p>
<p>Hier kann das <a href="http://de.wikipedia.org/wiki/JavaScript">Javascript</a>-Framework <a href="http://jquery.com/">jQuery</a> helfen. jQuery bietet eine Funktion mit dem Namen <a href="http://api.jquery.com/height/">.height()</a>, die uns die Höhe eines Elements setzen oder auslesen kann. Hier wird nicht einfach die CSS-Eigenschaft height ausgelesen, sondern die fertig gerenderte Höhe des Elements. So braucht man mit jQuery nicht viel Mühe, um alle gewünschten Elemente zu durchlaufen, das höchste zu bestimmen und alle Elemente auf eben diese Höhe anzupassen.</p>
<p><span id="more-1550"></span></p>
<h3>Der HTML-Code</h3>
<p>Gehen wir von folgendem HTML-Code aus. CSS habe ich zu besseren Ansicht inline definiert:</p>
<pre name="code" class="html">&lt;div class="autoheight" style="float: left; width: 200px; background-color: lightgreen;"&gt;
Hier steht Inhalt, der in der Länge bzw. Höhe variabel sein kann. Zum testen schreib ich hier irgendwas rein.
&lt;/div&gt;
&lt;div class="autoheight" style="float: left; width: 200px; background-color: orange;"&gt;
Hier steht Inhalt, der in der Länge bzw. Höhe variabel sein kann. Zum testen schreib ich hier irgendwas rein.
Hier steht Inhalt, der in der Länge bzw. Höhe variabel sein kann. Zum testen schreib ich hier irgendwas rein.
Hier steht Inhalt, der in der Länge bzw. Höhe variabel sein kann. Zum testen schreib ich hier irgendwas rein.
&lt;/div&gt;
&lt;div class="autoheight" style="float: left; width: 200px; background-color: mediumblue;"&gt;
Hier steht Inhalt, der in der Länge bzw. Höhe variabel sein kann. Zum testen schreib ich hier irgendwas rein.
Hier steht Inhalt, der in der Länge bzw. Höhe variabel sein kann. Zum testen schreib ich hier irgendwas rein.
&lt;/div&gt;
</pre>
<h3>Das Javascript mit jQuery</h3>
<p>Zuerst müssen wir die Höhe des höchsten Div&#8217;s ausfindig machen. Wir gehen am besten alle Elemente durch und bestimmen so das höchste von allen. Dazu müssen wir uns den höchsten Wert einfach nur merken und immer vergleichen:</p>
<pre name="code" class="javascript">
/* Variable zum Merken der maximalen Höhe */
var max_height = 0;

/* alle Elemente mit der CSS-Klasse "autoheight" durchlaufen */
$('.autoheight').each(function(e) {

  /* Höhe des aktuellen Elements */
  h = $(this).height();

  /* Wenn Höhe erfolgreich bestimmt werden konnte */
  if(typeof(h) != "undefined") {

        /* Wenn aktuelle Höhe gösser unserer maximalen, Höhe merken */
        if(h > max_height) {
                max_height = h;
        }
  }
});
</pre>
<p>Nun müssen wir alle anderen Elemente höher bekommen. Wenn wir die maximale Höhe bestimmen konnten, wenden wir diese jetzt einfach auf alle Elemente an:</p>
<pre name="code" class="javascript">
if(max_height > 0) {
 $('.autoheight').height(max_height);
}
</pre>
<p>Das ganze Javascript sieht dann so aus:</p>
<pre name="code" class="javascript">
var max_height = 0;
$('.autoheight').each(function(e) {
  h = $(this).height();
  if(typeof(h) != "undefined") {
        if(h > max_height) {
                max_height = h;
        }
  }
});
if(max_height > 0) {
 $('.autoheight').height(max_height);
}
</pre>
<h3>Das fertige Ergebnis als Beispiel</h3>
<p>Das oben beschriebene Beispiel sollte dann in etwa so aussehen:</p>
<p><strong>Boxen original</strong></p>
<div style="float: left; width: 200px; background-color: lightgreen;">
Hier steht Inhalt, der in der Länge bzw. Höhe variabel sein kann. Zum testen schreib ich hier irgendwas rein.
</div>
<div style="float: left; width: 200px; background-color: orange;">
Hier steht Inhalt, der in der Länge bzw. Höhe variabel sein kann. Zum testen schreib ich hier irgendwas rein.<br />
Hier steht Inhalt, der in der Länge bzw. Höhe variabel sein kann. Zum testen schreib ich hier irgendwas rein.<br />
Hier steht Inhalt, der in der Länge bzw. Höhe variabel sein kann. Zum testen schreib ich hier irgendwas rein.
</div>
<div style="float: left; width: 200px; background-color: mediumblue;">
Hier steht Inhalt, der in der Länge bzw. Höhe variabel sein kann. Zum testen schreib ich hier irgendwas rein.<br />
Hier steht Inhalt, der in der Länge bzw. Höhe variabel sein kann. Zum testen schreib ich hier irgendwas rein.
</div>
<div style="clear: left; padding: 20px 0 10px 0;">
<p><strong>Boxen mit jQuery angepasst</strong>
</div>
<div class="autoheight" style="float: left; width: 200px; background-color: lightgreen;">
Hier steht Inhalt, der in der Länge bzw. Höhe variabel sein kann. Zum testen schreib ich hier irgendwas rein.
</div>
<div class="autoheight" style="float: left; width: 200px; background-color: orange;">
Hier steht Inhalt, der in der Länge bzw. Höhe variabel sein kann. Zum testen schreib ich hier irgendwas rein.<br />
Hier steht Inhalt, der in der Länge bzw. Höhe variabel sein kann. Zum testen schreib ich hier irgendwas rein.<br />
Hier steht Inhalt, der in der Länge bzw. Höhe variabel sein kann. Zum testen schreib ich hier irgendwas rein.
</div>
<div class="autoheight" style="float: left; width: 200px; background-color: mediumblue;">
Hier steht Inhalt, der in der Länge bzw. Höhe variabel sein kann. Zum testen schreib ich hier irgendwas rein.<br />
Hier steht Inhalt, der in der Länge bzw. Höhe variabel sein kann. Zum testen schreib ich hier irgendwas rein.
</div>
<p><script type="text/javascript" src="/jquery.autoheight.js"></script></p>
<div style="clear: left; padding: 20px 0 30px 0;">
Sieht doch gleich viel besser aus. Jetzt können wir das natürlich auf alle gewünschten Elemente anwenden. Optimal für tabellarische Darstellung mit Layern.
</div>
<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://stetix.de/hoehe-von-html-elementen-automatisch-anpassen-jquery-und-javascript.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>jQuery: Select Wert auslesen</title>
		<link>http://stetix.de/jquery-select-wert-auslesen.html</link>
		<comments>http://stetix.de/jquery-select-wert-auslesen.html#comments</comments>
		<pubDate>Wed, 06 May 2009 20:55:17 +0000</pubDate>
		<dc:creator>Nico</dc:creator>
				<category><![CDATA[Webdesign]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://stetix.de/?p=494</guid>
		<description><![CDATA[Weil ich öfters gefragt werde, hier mal ein kurzes Tutorial, wie ich den Wert des aktuell gewählten Wertes eines Selects mit jQuery auslesen kann. Eigentlich funktioniert das wie mit anderen Input-Feldern auch, nämlich mit der Funktion &#8220;val&#8221;. Angenommen, wir haben folgende Selectbox: &#60;select name="hersteller" id="hersteller"&#62; &#60;option value=""&#62;Hersteller&#60;option&#62; &#60;option value="1"&#62;Audi&#60;option&#62; &#60;option value="2"&#62;Opel&#60;option&#62; &#60;option value="3"&#62;Mercedes&#60;option&#62; &#60;option value="4"&#62;Volkswagen&#60;option&#62; [...]
No related posts.]]></description>
			<content:encoded><![CDATA[<p>Weil ich öfters gefragt werde, hier mal ein kurzes Tutorial, wie ich den Wert des aktuell gewählten Wertes eines Selects mit <a href="http://jquery.com/">jQuery</a> auslesen kann. Eigentlich funktioniert das wie mit anderen Input-Feldern auch, nämlich mit der Funktion &#8220;val&#8221;. Angenommen, wir haben folgende Selectbox:</p>
<p><code>&lt;select name="hersteller" id="hersteller"&gt;<br />
&lt;option value=""&gt;Hersteller&lt;option&gt;<br />
&lt;option value="1"&gt;Audi&lt;option&gt;<br />
&lt;option value="2"&gt;Opel&lt;option&gt;<br />
&lt;option value="3"&gt;Mercedes&lt;option&gt;<br />
&lt;option value="4"&gt;Volkswagen&lt;option&gt;<br />
&lt;/select&gt;<br />
</code></p>
<p>Den Wert der aktuell gewählten Option erhalten wir mit:</p>
<p><code>$('#hersteller').val();<br />
</code></p>
<p>Möchten wir den Text, also Inhalt der aktuell gewählten Option erhalten, geht dies über den zusätzlichen Selektor &#8220;:selected&#8221; und die Funktion &#8220;text&#8221;:</p>
<p><code>$('#hersteller :selected').text();<br />
</code></p>
<p>Auch das Auslesen von mehreren gewählten Select-Optionen/Werten ist mit dem Selektor &#8220;:selected&#8221; und einer each-Schleife möglich:</p>
<p><code>$('#hersteller :selected').each(function(i, option){<br />
 // hier können wir den Inhalt von "option" verwerten<br />
});<br />
</code></p>
<p>Oder das Setzen einer Select-Option:</p>
<p><code>$('#hersteller').val("1");<br />
</code></p>
<p>Eigentlich alles ganz easy oder? <a href="http://jquery.com/">jQuery</a> macht Spass!</p>
<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://stetix.de/jquery-select-wert-auslesen.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>301 Weiterleitung einer Website per mod-rewrite</title>
		<link>http://stetix.de/301-weiterleitung-einer-website-per-mod-rewrite.html</link>
		<comments>http://stetix.de/301-weiterleitung-einer-website-per-mod-rewrite.html#comments</comments>
		<pubDate>Wed, 25 Feb 2009 19:12:49 +0000</pubDate>
		<dc:creator>Nico</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Webentwicklung]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://stetix.de/?p=191</guid>
		<description><![CDATA[Wenn sich die Domain oder Url einer Website geändert hat, empfiehlt sich eine Weiterleitung auf die neue Adresse mit dem HTTP-Statuscode 301 (Moved Permanently). Der Code 301 deshalb, damit auch Suchmaschinen wie Google wissen, das sich die Adresse für immer geändert hat und nur die neue Url verwendet werden soll. Google berücksichtigt hier auch den [...]
No related posts.]]></description>
			<content:encoded><![CDATA[<p>Wenn sich die Domain oder Url einer Website geändert hat, empfiehlt sich eine Weiterleitung auf die neue Adresse mit dem <a href="http://de.wikipedia.org/wiki/HTTP-Statuscode">HTTP-Statuscode</a> 301 (Moved Permanently). Der Code 301 deshalb, damit auch Suchmaschinen wie <a href="http://www.google.de">Google</a> wissen, das sich die Adresse für immer geändert hat und nur die neue Url verwendet werden soll. Google berücksichtigt hier auch den Pagerank und ordnet diesen der neuen URL zu.</p>
<h3>Die Technik</h3>
<p>Technisch gesehen werden vom Webserver im HTTP 2 Zeilen an den Client (Nutzer mit Browser, Suchmaschine) gesendet. Eine mit dem Statscode und eine mit dem Ziel der Weiterleitung:</p>
<p><code>HTTP/1.1 301 Moved Permanently<br />
Location: http://www.neue-url.de/pfad/zur/datei.htm<br />
</code></p>
<p>Eine HTTP-Sitzung per Telnet auf Port 80 sieht dann zum Beispiel so aus:</p>
<p><code># telnet alte-domain.de 80<br />
Trying 12.34.56.78...<br />
Connected to alte-domain.de.<br />
Escape character is '^]'.<br />
GET / HTTP/1.1<br />
Host: alte-domain.de<br />
<br />
HTTP/1.1 301 Moved Permanently<br />
Date: Thu, 25 Feb 2009 20:06:55 GMT<br />
Server: Apache/2.2.11<br />
Location: http://neue-domain.de/<br />
Content-Length: 225<br />
Connection: close<br />
Content-Type: text/html; charset=iso-8859-1<br />
<br />
&lt;!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"&gt;<br />
&lt;html&gt;&lt;head&gt;<br />
&lt;title&gt;301 Moved Permanently&lt;/title&gt;<br />
&lt;/head&gt;&lt;body&gt;<br />
&lt;h1&gt;Moved Permanently&lt;/h1&gt;<br />
&lt;p&gt;The document has moved &lt;a href="http://neue-domain.de/"&gt;here&lt;/a&gt;.&lt;/p&gt;<br />
&lt;/body&gt;&lt;/html&gt;<br />
Connection closed by foreign host.<br />
</code></p>
<h3>mod_rewrite &#8211; die Lösung</h3>
<p>Um dies mit Hilfe des Webservers Apache zu lösen, hilft uns das Modul Rewrite, kurz <a href="http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html">mod_rewrite</a>. Hat man Zugriff auf die Konfigurationsdatei des Webservers, kann man die Rewrite-Weiterleitung im <a href="http://httpd.apache.org/docs/2.2/mod/core.html#virtualhost">VirtualHost</a>, in der <a href="http://httpd.apache.org/docs/2.2/mod/core.html#directory">Directory</a>- oder <a href="http://httpd.apache.org/docs/2.2/mod/core.html#location">Location</a>-Direktive vornehmen. Anonsten erstellt man eine <a href="http://httpd.apache.org/docs/2.2/howto/htaccess.html">.htaccess</a>-Datei und nimmt die Konfiguration hier vor.<br />
Um mod_rewrite zu aktivieren, benötigen wir folgende zwei Zeilen:</p>
<p><code>RewriteEngine on<br />
RewriteBase /<br />
</code><br />
<span id="more-191"></span>Die erste Zeile aktiviert das Modul und die zweite setzt den Basis-Pfad, für den die folgende Rewrite-Konfiguration dienen soll. Möchten wir beispielsweise nur für das Verzeichnis <em>/homepage/blog/</em> eine Weiterleitung erstellen, benötigen wir folgende Einstellung:</p>
<p><code>RewriteEngine on<br />
RewriteBase /homepage/blog/<br />
</code></p>
<p>Als nächstes definieren wir unsere Regel für die Weiterleitung. Diese beinhaltet das Suchmuster und den Ersatz, d.h. die Original-Url und die neue Adresse der URL-Weiterleitung. Das tolle ist, das hier <a href="http://de.wikipedia.org/wiki/Regul%C3%A4rer_Ausdruck">Reguläre Ausdrücke</a> verwendet werden können. Die Syntax ist wie folgt:</p>
<p><code>RewriteRule &lt;suchmuster&gt; &lt;ersatz&gt;<br />
</code></p>
<p>Eine Domain-Weiterleitung mit mod_rewrite würde zum Beispiel so aussehen:</p>
<p><code>RewriteRule ^(.*)$ http://www.neuedomain.de/$1 [R=301,L]<br />
</code></p>
<p>Eine Weiterleitung eines Verzeichnisses so:</p>
<p><code>RewriteRule ^homepage/blog(.*)$ http://www.neuedomain.de/homepage/blog$1 [R=301,L]<br />
</code></p>
<p>Das mit dem Modul Rewrite noch mehr Möglichkeiten z.B. dynamischer Weiterleitungen bestehen, verdeutlicht folgendes Beispiel:</p>
<p><code>RewriteRule ^([a-z\-]+)/([a-z\-]+)/(.*)$ http://www.neuedomain.de/$3?site=$1&amp;sub=$2 [R=301,L]<br />
</code></p>
<p>Jede Regel ist aber vorher gut zu durchdenken, da bei Fehlkonfiguration die Performance des Apache in Mitleidenschaft gezogen oder sogar zum Absturz, z.B. durch Endlosschleifen, gebracht werden kann. Mehr Informationen und viele Möglichkeiten mehr gibt es in der <a href="http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html#rewriterule">mod_rewrite Apache-Doku</a>.</p>
<h3>Andere Möglichkeiten einer Weiterleitung</h3>
<p>Ist mod_rewrite nicht installiert, oder keine Berechtigung zur Benutzung gegeben, müssen andere Lösungen her.</p>
<h4>Weiterleitung mit PHP</h4>
<p>Mit PHP könnte man oben beschriebene Weiterleitungen mit Hilfe der <a href="http://de.php.net/manual/de/function.header.php">header</a>-Funktion lösen.</p>
<pre name="code" class="php">&lt;?php
header('HTTP/1.1 301 Moved Permanently', true);
header('Location: http://www.neue-url.de/pfad/zur/datei.htm', true);
?&gt;</pre>
<h4>Weiterleitung mit Perl / CGI</h4>
<p>Auch mit Perl könnte man die Weiterleitung mit Hilfe eines Headers direkt per print lösen:</p>
<pre name="code" class="ruby">#!/usr/bin/perl

print "HTTP/1.1 301 Moved Permanently\n";
print "Location: http://www.neue-url.de/pfad/zur/datei.htm\n";</pre>
<h4>Weiterleitung mit Ruby</h4>
<p>In Ruby kann man dies zum Beispiel so realisieren:</p>
<pre name="code" class="ruby">#!/usr/bin/env ruby

require 'cgi'
cgi.header({'HTTP/1.1 301 Moved Permanently','Location'=&gt;'http://www.neue-url.de/pfad/zur/datei.htm'})</pre>
<h4>Clientseitig ohne 301-Status: Javascript</h4>
<p>Eine clientseitige Weiterleitung könnte mit Javascript realisiert werden. Nachteil ist hier, das bei deaktiviertem Javascript die Weiterleitung nicht funktioniert.</p>
<pre name="code" class="javascript">&lt;script type="text/javascript"&gt;
&lt;!--
window.location.replace("http://www.neue-url.de/pfad/zur/datei.htm");
// --&gt;
&lt;/script&gt;</pre>
<h4>Clientseitig ohne 301-Status: Weiterleitung per Meta-Tag</h4>
<p>Hierfür wird im Head Bereich des HTML-Codes ein Meta-Tag eingefügt, der durch Semikolon getrennt die Zeit angibt, die der Browser bis zur Weiterleitung warten soll und die URL des Ziels der Weiterleitung. Auch diese methode empfehle ich nicht, da dies wie auch Javascript Interpretationssache des Browsers ist, diesen tag zu beachten (Wobei alle Standard-Browser dies tun).</p>
<pre name="code" class="html">&lt;head&gt;
&lt;meta http-equiv="refresh" content="3; url=http://www.neue-url.de/pfad/zur/datei.htm"&gt;
&lt;!-- andere Tags im Header --&gt;
&lt;/head&gt;</pre>
<p>Meine Empfehlung: Immer mod-rewrite nutzen, da serverseitig, gut konfigurierbar und vielseitig einsetzbar. Sollte dies nicht vorhanden oder möglich sein, können die anderen genannten Möglichkeiten einer Weiterleitung (PHP oder andere serverseitige Script- bzw. Programmiersprache, Javascript, Meta-Tag &#8211; in der Reihenfolge) weiterhelfen.</p>
<p>Happy Redirecting!</p>
<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://stetix.de/301-weiterleitung-einer-website-per-mod-rewrite.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Selectbox mit Prototype per Ajax befüllen</title>
		<link>http://stetix.de/selectbox-mit-prototype-per-ajax-befuellen.html</link>
		<comments>http://stetix.de/selectbox-mit-prototype-per-ajax-befuellen.html#comments</comments>
		<pubDate>Tue, 16 Dec 2008 17:22:49 +0000</pubDate>
		<dc:creator>Nico</dc:creator>
				<category><![CDATA[Webentwicklung]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[prototype]]></category>

		<guid isPermaLink="false">http://www.mediashake.de/?p=14</guid>
		<description><![CDATA[Ich habe gestern mit einem Kollegen versucht, eine Selectbox mit dem Javascript-Framework Prototype per Ajax zu füllen. Mit jQuery &#8211; was wir in letzter Zeit mehr einsetzen &#8211; keine grössere Sache. Mit Prototype aber mussten wir etwas grübeln. Da ich in Google nicht wirklich fündig geworden bin, gibt es hier nun ein Beispiel. (Und ich [...]
No related posts.]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-45" title="prototype" src="http://www.mediashake.de/wp-content/uploads/2008/12/prototype.png" alt="prototype Selectbox mit Prototype per Ajax befüllen" width="177" height="108" />Ich habe gestern mit einem Kollegen versucht, eine Selectbox mit dem <a href="http://www.prototypejs.org/">Javascript-Framework Prototype</a> per Ajax zu füllen. Mit jQuery &#8211; was wir in letzter Zeit mehr einsetzen &#8211; keine grössere Sache. Mit Prototype aber mussten wir etwas grübeln. Da ich in Google nicht wirklich fündig geworden bin, gibt es hier nun ein Beispiel. (Und ich kann gleich das Syntax-Highlighting in WordPress testen :-)  </p>
<p><span id="more-14"></span></p>
<p>Es soll anhand des Wertes einer Select-Box Daten per Ajax von einem PHP-Script geladen und in eine zweite Select-Box als Optionen hinzugefügt werden.</p>
<p>Zuerst benötigen wir zwei Select-Boxen:</p>
<pre name="code" class="html">

<label for="kategorie-select">Kategorie</label>
<select id="kategorie-select" name="kategorie">
<option>Bitte wählen</option>
<option value="1">Bücher</option>
<option value="2">Elektronik</option>
<option value="3">Spielwaren</option>
</select>

<label for="artikel-select">Artikel</label>
<select id="artikel-select" name="artikel">
</select>
</pre>
<p>Das Javascript (Prototype muss eingebunden sein):</p>
<pre name="code" class="javascript">
<script type="text/javascript">

$('kategorie-select').observe('change', function(event){

 var url = 'getartikel.php?kategorie=' + $('kategorie-select').value;
 new Ajax.Request(url,
 {
  method: 'get',
  onSuccess: function(transport, json)
  {
   var json = transport.responseText.evalJSON(true);

   // Selectbox reset
   $('artikel-select').length = 0;

   // Artikel der Selectbox hinzufuegen
   json.each(function(artikel)
   {
    newoption = new Option(artikel.name, artikel.id, false, false);
    $('artikel-select').options[$('artikel-select').length] = newoption;
   }); 
  }
 });

 });
</script>
</pre>
<p>Und hier noch das PHP-Script als Beispiel:</p>
<pre name="code" class="php">

/**
 * Artikel-Array, wuerde im echten Leben aus
 * einer Datenbank kommen.
 */
$artikel_data = array
(
  1 => array
      (
        array("id" => 1, "name" => "Artikel Nummer 1"),
        array("id" => 2, "name" => "Artikel Nummer 2"),
        array("id" => 3, "name" => "Artikel Nummer 3"),
      ),
  2 => array
      (
        array("id" => 4, "name" => "Artikel Nummer 4"),
        array("id" => 5, "name" => "Artikel Nummer 5"),
        array("id" => 6, "name" => "Artikel Nummer 6"),
      ),
  3 => array
      (
        array("id" => 7, "name" => "Artikel Nummer 7"),
        array("id" => 8, "name" => "Artikel Nummer 8"),
        array("id" => 9, "name" => "Artikel Nummer 9"),
      ),
);

/**
 * Als Json ausgeben
 */
if($_GET['kategorie'])
{
  echo json_encode($artikel_data[$_GET['kategorie']]);
}
</pre>
<p><a href="/examples/prototype_ajax_selectbox/index.htm">Hier</a> das <a href="/examples/prototype_ajax_selectbox/index.htm">gesamte Beispiel</a>. Viel Spass! Wenn jemand eine schnellere Lösung hat, nur her damit.</p>
<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://stetix.de/selectbox-mit-prototype-per-ajax-befuellen.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>50 nützliche Plugins für jQuery</title>
		<link>http://stetix.de/50-nuetzliche-plugins-fur-jquery.html</link>
		<comments>http://stetix.de/50-nuetzliche-plugins-fur-jquery.html#comments</comments>
		<pubDate>Mon, 15 Dec 2008 11:37:20 +0000</pubDate>
		<dc:creator>Nico</dc:creator>
				<category><![CDATA[Webentwicklung]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>

		<guid isPermaLink="false">http://www.mediashake.de/?p=6</guid>
		<description><![CDATA[jQuery ist ein Javascript-Framework, welches einem die Arbeit mit Javascript sehr erleichtert und viele nützliche Tools beinhaltet.  Mit Hilfe von Plugins kann dieses Framework durch noch mehr Funktionen erweitert werden. Eine schöne und gut gemischte Sammlung mit 50 sehr guten jQuery-Plugins gibt es ab heute bei Dr. Web. Viel Spass beim Ausprobieren. No related posts.
No related posts.]]></description>
			<content:encoded><![CDATA[<p><a href="http://jquery.com/">jQuery</a> ist ein <a href="http://de.wikipedia.org/wiki/JavaScript">Javascript</a>-<a href="http://de.wikipedia.org/wiki/Framework">Framework</a>, welches einem die Arbeit mit Javascript sehr erleichtert und viele nützliche Tools beinhaltet.  Mit Hilfe von Plugins kann dieses Framework durch noch mehr Funktionen erweitert werden. Eine schöne und gut gemischte <a href="http://www.drweb.de/magazin/50-nutzliche-plugins-fur-jquery/">Sammlung mit 50 sehr guten jQuery-Plugins</a> gibt es ab heute bei <a href="http://www.drweb.de/magazin/50-nutzliche-plugins-fur-jquery/">Dr. Web</a>. Viel Spass beim Ausprobieren.</p>
<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://stetix.de/50-nuetzliche-plugins-fur-jquery.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Page Caching using apc
Database Caching 3/17 queries in 0.005 seconds using apc
Object Caching 1175/1197 objects using apc

Served from: stetix.de @ 2012-05-22 00:35:05 -->
