Oct 272012
 

jQuery UI, ormai giunto alla versione 1.9, mette a disposizione tutto quello che serve per gestire con semplictà liste ordinabili tramite drag&drop, vediamo come.
Per prima cosa serve collegare nella nostra pagina sia jQuery sia jQuery UI sia il tema scelto:


<link rel="stylesheet" type="text/css" href="http://code.jquery.com/ui/1.9.0/themes/base/jquery-ui.css" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<script src="http://code.jquery.com/ui/1.9.0/jquery-ui.js"></script>

Poi in secondo luogo prepariamo l’html:

una comunissima lista e integriamo il css del tema:


<ul id="mialista">
<li id="lista_1">Lista 1</li>
<li id="lista_2">Lista 2</li>
<li id="lista_3">Lista 3</li>
<li id="lista_4">Lista 4</li>
<li id="lista_5">Lista 5</li>
<li id="lista_6">Lista 6</li>
<li id="lista_7">Lista 7</li>
<li id="lista_8">Lista 8</li>
<li id="lista_9">Lista 9</li>
</ul>

 

A questo punto al document.ready rendiamo i nostri elementi li trascinabili:

$(document).ready(function(e) {
$(‘#mialista’).sortable({…})
})

Aggiungiamo l’evento stop in mdo da mandare una chiamata via ajax al web server per memorizzare la sequenza attualmente visibile sulla pagina,
quindi come prima cosa leggiamo l’ordine:

var ordine=$(‘#mialista’).sortable(‘serialize’);

e successivamente mandiamo la chiamata:


$.get(‘data/inserisci.php?’+ordine,function(data){/*fai qualcosa*/})

la function di risposta viene utilizzata per esempio per dare conferma dell’avvenuto salvataggio,
anche se a volte potrebbe essere un po’ troppo invadente.

Per completezza la insersci php:


if(isset($_GET['lista'])){     print_r($_GET['lista']);     }


L’esempio

Sorry, the comment form is closed at this time.