2010-01-24 5 views
2

J'ai ces deux listes, à partir de laquelle je peux déplacer des éléments de l'un à l'autre avec jquery ui et les listes de connexion, avec ajax. Si un élément est arrêté, un message est généré dans un fichier php, puis il apparaît à l'écran. Maintenant, je veux que, par exemple, la liste de droite devrait contenir dix éléments au maximum. Ce serait génial si jquery pouvait le faire, que s'il y a déjà dix éléments dans la liste et que vous allez faire glisser le onzième, si alors l'objet disparaitrait, peut-être avec un peu d'effekt. Je pense peut-être lire db dans le fichier php s'il y a déjà dix éléments, et ainsi de suite. Mais je n'ai actuellement aucune idée, si et au cas où de quelle manière, jquery supporterait ce genre de comportement. Pouvez-vous me donner quelques conseils?jquery - définir une limite d'éléments, qui peuvent être glissés dans une liste

Salutations, Maschek

+0

J'ai oublié de mentionner, ce serait génial, si en cas de dépassement de la limite, toute l'action du glisser-déposer pourrait en quelque sorte être annulée, avec l'élément figurant à nouveau dans sa liste d'origine. Peut-être que c'est une façon plus précise de décrire le plan. – maschek

+0

Vous pouvez modifier votre propre question si vous souhaitez ajouter des informations. Vous n'avez pas besoin d'utiliser les commentaires. – Scharrels

Répondre

0

Vous pouvez sélectionner tous les éléments de votre liste à l'aide jquery puis utiliser la propriété de longueur pour savoir combien ont été effectivement sélectionnés. Cela vous permettrait de vérifier la taille de votre liste. Par exemple:

if ($('#yourlist li').length() == 10) 
{ 
    // Do effect here 
} 
1

En utilisant l'exemple de http://docs.jquery.com/UI/Droppable, vous pouvez le faire:

$("#draggable").draggable(); 

    $("#droppable").droppable({ 
     drop: function() { 
      if($("#draggable").children().length > 10) 
      return; 
     } 
    }); 

quelque chose minerai le long de cette ligne.

0

parfois c'est si facile. Il suffit de mettre un "gourmand: vrai" dans la définition deroppable et ça marche bien.

Questions connexes