Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2011
    Messaggi
    18

    [JQuery] Spostare div - drag & drop

    Ciao a tutti,
    ho una nuova domanda. Purtroppo è il mio primo approccio a jquery e non riesco ancora a maneggiarlo al meglio.

    Il mio problema è il seguente:
    Ho una tabella dove, attraverso il drag and drop (spiegato nella guida Jquery UI di questo), sposto dei div contenenti un numero scritto in inglese (One, Two).
    Spostando il div, però, anche se il drop è terminato, per il codice html il div spostato risulta essere sempre nel td di partenza (nel mio caso lo lascia droppable:false perché è come se ci fosse ancora qualcosa, mentre dove ho droppato posso aggiungere altri elementi perché lì non risulta esserci niente).

    Qui di seguito trovate il codice:
    Stile:
    codice:
    <STYLE> 
    .drag{ 	margin: auto; 	text-align: center; 	width: 87px; 	height: 35px;
     	line-height: 35px; 	border: 2px solid SteelBlue; 	background-color: white; 	 }  
    .cella{ background-color: #FF0000 }  
    .ui-widget-header{ BACKGROUND: #99FF00; }  </STYLE>
    Javascript:
    codice:
    <script type="text/javascript"> 	$(function() { 	
    var id; 			
    
    $( ".cella" ).droppable({ disabled: true }); 		 		 		
    $(".ui-widget-header").droppable({ 			
    drop: function(event, ui)
     { if($(this).attr('id')!=id) 	
    			{ 	
    id=$(ui.draggable).attr('pippo') 					
    $( this ).removeClass("ui-widget-header").removeClass("ui-droppable"); 					
    $( this ).addClass("cella"); 					
    $("#"+id).removeClass("cella");
    $("#"+id).addClass("ui-widget-header").addClass("ui-droppable");
    idnuovo=$(this).attr('id'); 
    $(ui.draggable).attr('pippo',idnuovo); 
    id=$(this).attr('id'); 				 			
    }} 		}); 	}); </script>
    Tabella:
    codice:
    <table id="table-1" width=500 height=350 border=1> 
    <tr>	 		
    <td class=cella width=50 id=1> 		
    <DIV class=prova>&nbsp 		
    <DIV class=drag pippo=1 id=pinco>One</DIV>
    </DIV>
    </td>
    <td class=ui-widget-header width=50 id=2>
    <DIV class=drop>&nbsp</DIV></td>
    </tr> 
    <tr><td class=cella width=50 id=3>
    <DIV class=prova>&nbsp
    <DIV class=drag pippo=3>Two</DIV>
    </DIV>
    </td>
    <td class=ui-widget-header width=50 id=4>
    <DIV class=drop>&nbsp</DIV></td>
    </tr>
    Quindi la domanda è: come posso spostare fisicamente il div, ad esempio, contenente "One" e non solo virtualmente come qui?
    Confido nel vostro aiuto

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2011
    Messaggi
    18
    Risolto con append() e/o appendTo().

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.