IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

jQuery Discussion :

Organiser un site à la volée (sortable)


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 10
    Par défaut Organiser un site à la volée (sortable)
    Bonjour,

    Cela fait quelques jours que je souhaite approfondir le simple tri d'une liste avec JQuery. J'ai donc travaillé sur plusieurs points :

    1. Trier des bloc (div) et non des listes
    2. Organiser le tri sur deux colonnes
    3. Sauvegarder les positions dans une base de données

    J'ai fais beaucoup de recherches sur le sujet et j'ai trouvé beaucoup de réponses, mais je bloque encore sur un point et je n'ai trouvé aucun tutorial ou sujet sur un forum qui correspond à ce que je cherche.

    Si j'arrive à enregistrer les positions au sein d'une liste (sur un colonne), je n'arrive pas à le faire sur deux colonnes (ça doit pas être compliqué pourtant).

    J'espère qu'avec les bouts de code qui suivent vous allez comprendre ce que je veux dire et surtout pouvoir m'aider.

    Voici la table qui permet de trier les DIVs
    Code mysql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    --
    -- Contenu de la table `bloc`
    --
     
    INSERT INTO `bloc` (`id`, `nom`, `afficher`, `ordre`, `colonne`) VALUES
    (1, 'Catégories', 1, 1, 2),
    (2, 'Liens divers', 1, 2, 1),
    (3, 'nouvelle', 1, 3, 1),
    (4, 'Produits', 1, 0, 1);

    Je ne met pas le code qui permet de générer les DIV mais juste le code html qui en ressort :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <div id="info">1-</div>
    <div id="info2">2-</div>
     
    <div class="colonne" id="colonne_g">
      	<div id="bloc_4"></div>
    	<div id="bloc_2"></div>
    	<div id="bloc_3"></div>
    </div>
    <div class="colonne" id="colonne_d">
      	<div id="bloc_1"></div>
    </div>

    Le code javascript en jquery qui permet de trier et qui devrait je pense faire appel à une page en ajax pour l'enregistrement:
    Code js : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    $("#colonne_g").sortable({
                            connectWith: '#colonne_d',
                            update : function () {
                                    var order = $('#colonne_g').sortable('serialize');
                                    $("#info").load("ajax.php?"+order);
                                    }
                    });
     
    $("#colonne_d").sortable({
                            connectWith: '#colonne_g',
                            update : function () {
                                    var order = $('#colonne_d').sortable('serialize');
                                    $("#info2").load("ajax.php?"+order);
                                    }
                    });

    Voila ce que j'ai trouvé, et ça marche, et j'ai mis ça dans le page ajax.php pour vérifier que ça marche (et ça marche):




    J'ai vraiment cherché, et je n'ai pas trouvé de réponse satisfaisante, je pense que pour quelqu'un qui s'y connait c'est vraiment facile.

    Merci beaucoup

  2. #2
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par défaut
    Bonsoir

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    $("#colonne_g").sortable({
    	connectWith: '#colonne_d',
    	update : function () {
    		$( "#info" ).text( "1 : " + $('#colonne_g').sortable('serialize') );
    		$( "#info2" ).text( "2 : " + $('#colonne_d').sortable('serialize') );
    	}
    });
     
    $("#colonne_d").sortable({
    	connectWith: '#colonne_g',
    	update : function () {
    		$( "#info" ).text( "1 : " + $('#colonne_g').sortable('serialize') );
    		$( "#info2" ).text( "2 : " + $('#colonne_d').sortable('serialize') );
    	}
    });

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

Discussions similaires

  1. [2.x] Organiser son site en bundles
    Par devKillerZ dans le forum Symfony
    Réponses: 5
    Dernier message: 14/06/2012, 19h04
  2. Réponses: 2
    Dernier message: 21/06/2011, 20h27
  3. organisation Liens site Web HTML/CSS
    Par Lycanthe dans le forum Débuter
    Réponses: 4
    Dernier message: 06/05/2009, 10h56
  4. Comment organiser mon site
    Par amel666 dans le forum Mon site
    Réponses: 4
    Dernier message: 29/05/2007, 16h16
  5. organisation de site
    Par newtito dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 30/08/2005, 11h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo