2009-05-15 9 views
2

J'utilise l'interface utilisateur Jquery pour développer une interface utilisateur de glisser-déposer, je veux limiter la quantité de LI (limitée à 5) abandonnée dans une région spécifique, et remplacer ceux qui sont en cours si un utilisateur les dépose les uns sur les autres. Comment cela peut-il être fait? J'utilise actuellement une version modifiée du photomanager sur le site de jquery ui.Comment limiter la quantité de LI en utilisant jquery

Répondre

1

vous pouvez vérifier le nombre de LI dans la région et à partir de 5+ vous remplacez les LI réels. Permet de voir:

On Drop event: 
    if($("#region li").length<5){ 
     //do your normal drop handling 
    }else{ 
     //replace one of the actual li's with the dragged one 
    } 

est-ce utile?

+0

Merci, mais ça n'a pas vraiment, voici mon code 'if ($ (longueur "# favoris li") <5.) { favourites.droppable $ ({ \t accepter: « # icon-galerie ul> li ', \t drop: function (ev, ui) { deleteImage (ui.draggable); } }); } else { $ favourites.droppable ({désactiver: '# icon-gallery ul> li',}); } ' – ivordesign

+0

J'ai réalisé que j'appliquais l'instruction if à l'événement drag et non à l'événement drop – ivordesign

1

J'ai récemment fait cela d'une manière différente. Au lieu d'empêcher la zone à largable, je voudrais juste ramasser tout LI excédentaire, et l'ajouter à la piscine de possibles simplement en ajoutant de nouveau le dernier enfant

$('#pool').append($('#container li:last-child')); 

Voir si cette approche vous convient ..

Questions connexes