Για να διδάξει τον εαυτό μου Javascript, Προσπαθώ να κάνω μια ιστοσελίδα που δίνει στους χρήστες μια λίστα των αντικειμένων (π.χ. τρόφιμα), τους ζητά να ταξινομήσετε αυτά τα τρόφιμα από τα αγαπημένα σε λιγότερο αγαπημένο, και να υποβάλουν τα δεδομένα όταν τελειώσετε. Χρησιμοποιώντας jQuery sortables φαίνεται σαν ένας καλός τρόπος για να γίνει αυτό. Ωστόσο, δεν είμαι σίγουρος πόσο η υποβολή στοιχείων πρέπει να συμβεί.
Εδώ είναι αυτό που σκέφτομαι. Κάθε ένα από αυτά τα είδη διατροφής θα είναι σε div κάπως έτσι:
<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>
Όταν ο χρήστης κάνει κλικ σε ένα κουμπί «Αποστολή», θέλω η σειρά αυτών των αντικειμένων που θα καθοριστεί, και γι 'αυτό παραγγελία να σταλεί πίσω στο διακομιστή (από τον τρόπο, είμαι με τη χρήση Django στην πλευρά του server). Φαίνεται ότι μπορεί να καθορίσει τη σειρά των στοιχείων με μια λειτουργία όπως αυτό:
function getOrder()
{
var foods = $(.foods);
var ids = [];
for(var x=0; x<foods.length; x++)
{
ids.push(foods[x].id);
}
return ids;
}
Ωστόσο, είμαι κολλημένος σε ένα-δυο πράγματα:
- Σε περίπτωση που στον κώδικα μου θα ζητώ αυτή η λειτουργία; Σκέφτομαι ότι θα ήταν μια ενέργεια onclick όταν ο χρήστης πατήσει το κουμπί υποβολής, αλλά δεν είμαι σίγουρος πού θα πάρει περάσει τα δεδομένα η συνάρτηση επιστρέφει.
- Ποια μορφή θα ήταν η πλέον κατάλληλη για την αποστολή αυτής της παραγγελίας στο διακομιστή (π.χ. JSON);
(Ξέρω ότι αυτό είναι ένα πολύ βασικό ερώτημα, αλλά εγώ ποτέ δεν έχουν κάνει μια ιστοσελίδα με την Javascript πριν, έτσι ώστε αυτή η περιοχή του προγραμματισμού είναι όλα τα νέα για μένα.)