- Home
- Categorie
- Coding e Sistemistica
- Coding
- Più ui.sortable dinamici
- 
							
							
							
							
							Più ui.sortable dinamiciCiao a tutti, 
 ho questo problema da risolvere:in una pagina php genero dinamicamente 3 elenchi ( con un numero variabile di elementi ) il risultato è questo: <ul class="sortslide" id="sortslide1"> 
 <li id='pos_<?=id_elemento?>'>Elemento1</li>
 <li id='pos_<?=id_elemento?>'>Elemento2</li>
 <li id='pos_<?=id_elemento?>'>Elemento3</li>
 ecc...
 </ul><ul class="sortslide" id="sortslide2"> 
 <li id='pos_<?=id_elemento?>'>Elemento1</li>
 <li id='pos_<?=id_elemento?>'>Elemento2</li>
 <li id='pos_<?=id_elemento?>'>Elemento3</li>
 <li id='pos_<?=id_elemento?>'>Elemento4</li>
 <li id='pos_<?=id_elemento?>'>Elemento5</li>
 ecc...
 </ul><ul class="sortslide" id="sortslide3"> 
 <li id='pos_<?=id_elemento?>'>Elemento1</li>
 ecc...
 </ul>il mio problema è riuscire a gestire i drag and drop degli elementi nel document.ready in maniera separa per ogni ul 
 ho scritto nel document ready una roba di questo tipo:$(document).ready(function(){ 
 $( ".sortslide" ).each(function() {
 myid=$(this).attr('id');
 $("#" + myid).sortable({
 opacity:0.5,
 axis: "y",
 update: function(event,ui){
 var itemOrder = $("#" + myid).sortable('serialize');
 alert(itemOrder);
 }
 });
 });ma l'alert mi ristorna sempre il valore dell'ultimo <li> dell'ultimo elemento. Ho anche provato a mettere un ciclo for (php) nel document ready, tipo: $(document).ready(function(){ 
 <?
 for($i=0;$i>=count($id_elementi);$i++){$(".sortable" + <?=$id_elementi*?>).sortable({ opacity:0.5, axis: "y", update: function(event,ui){ var itemOrder = $("".sortable" + <?=$id_elementi*?>").sortable('serialize'); alert(itemOrder); } });} 
 ?>
 });ma oltre ad essere una roba che non mi piace per niente, non mi da alcun risultato. mi aiutate a risolvere il problema? 
 
- 
							
							
							
							
							Ma quanto sono stupido??? ecco la soluzione per i posteri: $(document).ready(function(){ 
 slide=0;
 var itemOrder = new Array();
 $( ".sortslide" ).each(function() {
 slide++;
 $(this).sortable({
 opacity:0.5,
 axis: "y",
 update: function(event,ui){
 itemOrder[slide] = $(this).sortable('serialize');
 alert(itemOrder[slide]);
 }
 });
 });