<?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>Pignatelli.com - programmazione e social media marketing &#187; Javascript</title>
	<atom:link href="http://www.pignatelli.com/category/articolo/javascript/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.pignatelli.com</link>
	<description>Notizie e informazioni su programmazione e social media marketing</description>
	<lastBuildDate>Sun, 03 Oct 2010 15:04:11 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Javascript &#8211; spostare elementi fra liste</title>
		<link>http://www.pignatelli.com/2008/10/14/javascript-spostare-elementi-fra-liste/</link>
		<comments>http://www.pignatelli.com/2008/10/14/javascript-spostare-elementi-fra-liste/#comments</comments>
		<pubDate>Tue, 14 Oct 2008 15:37:41 +0000</pubDate>
		<dc:creator>Nicola</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[programmazione]]></category>

		<guid isPermaLink="false">http://www.pignatelli.com/?p=328</guid>
		<description><![CDATA[<img src="http://www.pignatelli.com/wp-content/uploads/2008/09/arrow-right-016x016.png" width="16" height="16" alt="" title="Javascript" /><br/>Con questo articolo iniziamo ad esplorare il mondo del javascript, non troppo preso in considerazione negli anni passati ma ultimamente tornato in voga grazie ad Ajax ed al Web 2.0.
In questo articolo spiegheremo come si può spostare elementi da una select ad un&#8217;altra senza dover ricaricare la pagina.
Un esempio di utilizzo può essere un elenco [...]]]></description>
			<content:encoded><![CDATA[<img src="http://www.pignatelli.com/wp-content/uploads/2008/09/arrow-right-016x016.png" width="16" height="16" alt="" title="Javascript" /><br/><p style="text-align: justify;"><span style="font-size: small; font-family: arial,helvetica,sans-serif;">Con questo articolo iniziamo ad esplorare il mondo del javascript, non troppo preso in considerazione negli anni passati ma ultimamente tornato in voga grazie ad Ajax ed al Web 2.0.</span></p>
<p style="text-align: justify;"><span style="font-size: small; font-family: arial,helvetica,sans-serif;">In questo articolo spiegheremo come si può spostare elementi da una select ad un&#8217;altra senza dover ricaricare la pagina.</span></p>
<p style="text-align: justify;"><span style="font-size: small; font-family: arial,helvetica,sans-serif;">Un esempio di utilizzo può essere un elenco di libri da comperare. L&#8217;utente sposta nel secondo elenco solo i libri che gli interessano e poi invia la richiesta di acquisto.</span></p>
<p style="text-align: justify;"><span id="more-328"></span></p>
<p style="text-align: justify;"><span style="font-size: small; font-family: arial,helvetica,sans-serif;">Lo scenario che ci troveremo di fronte è il seguente:</span></p>
<p style="text-align: center;"><a href="http://www.pignatelli.com/wp-content/uploads/2008/10/layout_select.jpg"><img class="size-medium wp-image-329 aligncenter" title="layout_select" src="http://www.pignatelli.com/wp-content/uploads/2008/10/layout_select-300x195.jpg" alt="preview dell'esempio nel browser" width="300" height="195" /></a></p>
<p style="text-align: justify;"><span style="font-size: small; font-family: arial,helvetica,sans-serif;">L&#8217;HTML della pagina di prova è presentato di seguito:</span></p>
<table class="current" style="border: 1pt solid #000000; background-color: #f2eeec; height: 346px;" border="0" cellspacing="0" cellpadding="2" width="503" frame="border">
<tbody>
<tr>
<td>
<p><span style="font-size: small; font-family: courier new,courier;">&lt;BODY&gt;<br />
 &lt;select id=&#8221;primo&#8221; name=&#8221;primo&#8221; multiple style=&#8221;width:150px;height:150px&#8221;&gt;<br />
 &lt;option value=&#8221;libro_uno&#8221;&gt;primo libro&lt;/option&gt;<br />
 &lt;option value=&#8221;libro_due&#8221;&gt;secondo libro&lt;/option&gt;<br />
 &lt;option value=&#8221;libro_tre&#8221;&gt;terzo libro&lt;/option&gt;<br />
 &lt;option value=&#8221;libro_quattro&#8221;&gt;quarto libro&lt;/option&gt;<br />
 &lt;option value=&#8221;libro_cinque&#8221;&gt;quinto libro&lt;/option&gt;<br />
 &lt;/select&gt;</span></p>
<p><span style="font-size: small; font-family: courier new,courier;"> &lt;button name=&#8221;sposta_dx&#8221; onclick=&#8221;trasferisci(this)&#8221; &gt;&amp;gt;&amp;gt;&lt;/button&gt;<br />
 &lt;button name=&#8221;sposta_sx&#8221; onclick=&#8221;trasferisci(this)&#8221; &gt;&amp;lt;&amp;lt;&lt;/button&gt;</span></p>
<p><span style="font-size: small; font-family: courier new,courier;"> &lt;select id=&#8221;secondo&#8221; name=&#8221;secondo&#8221; multiple style=&#8221;width:150px;height:150px&#8221;&gt;&lt;/select&gt;</span></p>
<p><span style="font-size: small; font-family: courier new,courier;"> &lt;button name=&#8221;invia&#8221; onclick=&#8221;alert(&#8217;elenco inviato&#8217;);&#8221; /&gt;invia&lt;/button&gt;<br />
 &lt;/BODY&gt; </span><br class="spacer_" /></p>
</td>
</tr>
</tbody>
</table>
<p><span style="font-size: small; font-family: arial,helvetica,sans-serif;">Il codice Javascript utilizzato per effettuare gli spostamenti è il seguente:</span></p>
<table class="current" style="border: 1pt solid #000000; background-color: #f2eeec; height: 526px;" border="0" cellspacing="0" cellpadding="2" width="500" frame="border">
<tbody>
<tr>
<td>
<p><span style="font-size: small; font-family: courier new,courier;">&lt;script type=&#8221;text/javascript&#8221;&gt; </span></p>
<p><span style="font-size: small; font-family: courier new,courier;">function trasferisci(obj) { </span></p>
<p style="padding-left: 30px;"><span style="font-size: small; font-family: courier new,courier;">var sorgente = &#8221;;  <br />
 var destinatario = &#8221;; </span></p>
<p style="padding-left: 30px;"><span style="font-size: small; font-family: courier new,courier;"><br class="spacer_" /> if (obj.name==&#8221;sposta_dx&#8221;) { </span></p>
<p style="padding-left: 60px;"><span style="font-size: small; font-family: courier new,courier;">var sorgente = &#8216;primo&#8217;; </span><span style="font-size: small; font-family: courier new,courier;"> <br />
 var destinatario = &#8217;secondo&#8217;;</span></p>
<p style="padding-left: 30px;"><span style="font-size: small; font-family: courier new,courier;">} else if (obj.name==&#8221;sposta_sx&#8221;) { </span></p>
<p style="padding-left: 60px;"><span style="font-size: small; font-family: courier new,courier;">var sorgente = &#8217;secondo&#8217;;  <br />
 var destinatario = &#8216;primo&#8217;; </span></p>
<p style="padding-left: 30px;"><span style="font-size: small; font-family: courier new,courier;">}</span></p>
<p style="padding-left: 30px;"><span style="font-size: small; font-family: courier new,courier;">var oSelect = document.getElementById(sorgente);</span></p>
<p style="padding-left: 30px;"><span style="font-size: small; font-family: courier new,courier;">for(var i=oSelect.options.length-1; i &gt;= 0; i ) {</span></p>
<p style="padding-left: 60px;"><span style="font-size: small; font-family: courier new,courier;">if (oSelect.options[i].selected)  { </span></p>
<p style="padding-left: 90px;"><span style="font-size: small; font-family: courier new,courier;">var oOption = new Option(oSelect.options[i].text, oSelect.options[i].value);  document.getElementById(destinatario).options.<br />
 add(oOption); <br />
 oSelect.remove(i); </span></p>
<p style="padding-left: 60px;"><span style="font-size: small; font-family: courier new,courier;">} </span></p>
<p style="padding-left: 30px;"><span style="font-size: small; font-family: courier new,courier;">} </span></p>
<p><span style="font-size: small; font-family: courier new,courier;">}</span></p>
<p><span style="font-size: small; font-family: courier new,courier;"> &lt;/script&gt; </span></p>
</td>
</tr>
</tbody>
</table>
<p style="text-align: justify;"><span style="font-size: small; font-family: courier new,courier;"> </span><span style="font-size: small; font-family: arial,helvetica,sans-serif;">Come potete vedere dal codice nel momento in cui clicchiamo su uno dei tasti, chiamati rispettivamente <em>sposta_dx</em> e <em>sposta_sx</em>, viene chiamata la funzione javascript trasferisci a cui è passato uno dei due oggetti di cui parlavamo prima.</span></p>
<p style="text-align: justify;"><span style="font-size: small; font-family: arial,helvetica,sans-serif;">In un primo momento si analizza il nome dell&#8217;oggetto passato, per capire quale delle due select sarà la sorgente e quale la destinataria dei valori da spostare, mentre in un secondo tempo viene eseguito il ciclo for che copia l&#8217;elemento, o gli elementi selezionati e li cancella dalla lista originaria.</span></p>
<p style="text-align: justify;"><span style="font-size: small; font-family: arial,helvetica,sans-serif;">Se volete vedere in azione l&#8217;esempio cliccate su questo url:</span></p>
<p style="text-align: justify;"><span style="font-size: small; font-family: arial,helvetica,sans-serif;"><a href="http://www.pignatelli.com/demo/js/sposta-elementi-select/index.html" target="&lt;/a&gt;_blank">http://www.pignatelli.com/demo/js/sposta-elementi-select/index.html</a></span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.pignatelli.com/2008/10/14/javascript-spostare-elementi-fra-liste/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

