Per insegnare a me stesso Javascript, sto cercando di fare una pagina web che offre agli utenti un elenco di elementi (ad esempio alimenti), chiede loro di ordinare questi alimenti da favorito a meno favorito, e inviare i dati quando hanno finito. Utilizzando sortables jQuery sembra un buon modo per fare questo. Tuttavia, non sono sicuro di come la presentazione dei dati dovrebbe accadere.
Ecco quello che sto pensando. Ognuno di questi prodotti alimentari sarebbe in un div in questo modo:
<div id=sortable>
<div id=1 class=foods>Pizza</div>
<div id=2 class=foods>Sushi</div>
<div id=3 class=foods>Taco</div>
</div>
Quando l'utente fa clic su un pulsante invia, voglio che l'ordine di questi elementi da determinare, e per questo ordinamento da inviare al server (a proposito, sto usando Django sul lato server). Mi sembra di determinare l'ordine degli elementi con una funzione come questa:
function getOrder()
{
var foods = $(.foods);
var ids = [];
for(var x=0; x<foods.length; x++)
{
ids.push(foods[x].id);
}
return ids;
}
Tuttavia, mi sono bloccato su un paio di cose:
- Dove nel mio codice dovrei chiamare questa funzione? Sto pensando che sarebbe un'azione onclick quando l'utente preme il pulsante di invio, ma non sono sicuro dove otterrebbero superato i dati la funzione ritorna.
- Che formato sarebbe il più appropriato per l'invio di questo ordinamento al server (ad esempio JSON)?
(So che questo è una domanda veramente di base, ma non ho mai fatto una pagina web con JavaScript prima, quindi questa zona di programmazione è tutto nuovo per me.)