2011-06-30 2 views
0
$(document).ready(function() 
{ 
    $('.sortable').sortable(
    { 
     connectWith:'.sortable', 
     update: function() 
     { 
       alert('sorted'); 
     } 
    }); 
}); 
<ul class='sortable'> 
    <li>A</li> 
    <li>B</li> 
    <li>C</li> 
</ul> 
<ul class='sortable'> 
    <li>1</li> 
    <li>2</li> 
    <li>3</li> 
</ul> 

Ok, cette alerte deux fois quand je trier avec ULs. J'ai besoin d'une alerte de temps même triée avec UL ou Li.Comment empêcher la mise à jour d'autres fonctions lors de l'utilisation de la propriété connectedWith dans jqueryui sortable?

Répondre

0

Je l'ai trouvé un moyen de le faire.

$updated = false; 
$('.sortable').sortable(
{ 
    connectWith: '.sortable', 
    stop: function() 
    { 
     if($updated) 
     { 
       alert('Updated!'); 
     } 
     $updated = false; 
    }, 
    update: function(e, ui) 
    { 
     $updated = true; 
    } 
}); 
0

On dirait que tout va bien: quand vous trier LI à l'intérieur de l'UL unique, vous recevez une alerte. Mais si vous déplacez LI d'une UL à une autre, vous recevez deux alertes, car chaque triable est mis à jour. Tout d'abord perd un LI et le second reçoit: http://jsfiddle.net/CoolEsh/Kuwzq/1/

Si vous avez besoin d'alerte que lorsque l'une des listes mises à jour puis Etape suivante

$(document).ready(function() 
{ 
    $('.sortable1').sortable(
    { 
     connectWith:'.sortable2' 
    }); 

    $('.sortable2').sortable(
    { 
     connectWith:'.sortable1', 
     update: function() 
     { 
       alert('sorted'); 
     } 
    }); 
}); 
<ul class='sortable1'> 
    <li>A</li> 
    <li>B</li> 
    <li>C</li> 
</ul> 
<ul class='sortable2'> 
    <li>1</li> 
    <li>2</li> 
    <li>3</li> 
</ul> 
+0

C'est OK, mais si j'utilise beaucoup de listes, je dois écrire des codes de répétition pour chacun. – Sureshkumar

+0

Si vous laissez votre code "en l'état", vous recevrez toujours 2 alertes en glissant l'élément entre les sortables: triable où l'élément venant de changé et triable où l'élément venant à changé. Peut-être que c'est mieux de gérer les deux changements? – CoolEsh

Questions connexes