<?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; prototype</title>
	<atom:link href="http://stetix.de/tag/prototype/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>Wed, 31 Aug 2011 14:16:11 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<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>
	</channel>
</rss>
<!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->
