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 :

jQuery Sortable : Forcer le rafraichissement [UI]


Sujet :

jQuery

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 83
    Points : 43
    Points
    43
    Par défaut jQuery Sortable : Forcer le rafraichissement
    bonjour

    j'ai utilisé le plug-in SORTABLE pour organiser des colonnes modifiables.
    tout va bien avec le modèle qui utilise les "PORTLETS".

    exemple officiel ici --> https://jqueryui.com/sortable/#portlets

    La mise a jour de la position de tous les éléments en bdd se fait via :

    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
    16
    17
    18
        $(".column").sortable({
            connectWith: ".column",
            handle: ".portlet-header",
            cancel: ".portlet-toggle",
            placeholder: "portlet-placeholder ui-corner-all",
            update: function() {
                    var dat = [];
                    var i = 0;
                    $(".column").each(function() {
                        dat[i++] = [this.id,$(this).sortable("toArray")]; // this.id is the column id, the 2nd element are the job id's in that column
                    });    
                    $.ajax({
                        method: "POST",
                        url: "b_getdetailsmodelebulletin.php",
                        data: {data: dat}
                    });
                }
        });
    ca marche.

    j'ai un bouton qui me permet d'ajouter dynamiquement un élément (portlets) à la fin de la première colonne de ma page :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        $('#addSeparateur').click(function(){
            $('.column:first').append('<div class="red portlet separateur ui-widget ui-widget-content ui-helper-clearfix ui-corner-all" id="ID_999"><div class="portlet-header ui-widget-header ui-corner-all"><span class="ui-icon portlet-toggle ui-icon-minusthick"></span><hr /></div><div class="portlet-content hidden">- simple ligne de séparation - </div></div>');
        });
    cela insère l'élément dans la première colonne... avec un aspect identique aux autres éléments.
    je peux en insérer plusieurs afin de des mettre par la suite où je veux.

    le hic est que la suppression d'un élément ainsi créé par un bouton dédié ne permet pas de mettre à jour la position des tous mes éléments dans la vdd. En effet ... je n'ai pas drag&dropé via ma souris un élément vers une autre position.

    Le script mis le bouton de SUPPRESIION d'un portlets est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        $('#suppSeparateur').click(function(){
            $('.column > div.separateur').last().remove();
            $( ".column" ).sortable( "refresh" );
        });
    ma question :

    comment forcer la MAJ quand j'ajoute ou supprime un élément via un click sur un bouton qui me fait un .append() ou un .remove() ?


    merci +++

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 83
    Points : 43
    Points
    43
    Par défaut
    auto réponse :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     function refreshData(){
            var dat = [];
            var i = 0;
            $(".column").each(function() {
                dat[i++] = [this.id,$(this).sortable("serialize"),$('#nommodele').val()]; // this.id is the column id, the 2nd element are the job id's in that column
            });    
            $.ajax({
                method: "POST",
                url: "b_getdetailsmodelebulletin.php",
                data: {data: dat}
            });
        }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        $('#suppSeparateurEntete').click(function(){
            $('.column > div.separateur').last().remove();
            refreshData();
        });

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. forcer un rafraichissement ecran
    Par john123 dans le forum Composants
    Réponses: 1
    Dernier message: 19/07/2007, 14h54
  2. [SERVLET] Forcer le rafraichissement d'une servlet
    Par Finrod dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 03/05/2007, 11h03
  3. Réponses: 4
    Dernier message: 08/10/2006, 15h16
  4. [MFC] CDialog -> forcer le rafraichissement
    Par Rafoo dans le forum MFC
    Réponses: 3
    Dernier message: 05/09/2006, 16h51
  5. [JPanel] Forcer le rafraichissement d'un sous panel
    Par tomca dans le forum Agents de placement/Fenêtres
    Réponses: 4
    Dernier message: 18/05/2005, 16h49

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