2010-11-19 23 views
0

J'ai deux ensembles de draggable et deux ensembles d'éléments dropables.Deux draggables et deux droppables sur une seule page

Ce que je veux, c'est que le premier ensemble d'éléments déplaçables ne soit droppable que dans le premier ensemble de droppables. Le deuxième jeu de draggables doit être droppable uniquement à l'intérieur du second jeu de droppables.

Un extrait de code:

// this can be dropped only inside .drop elements 
$('.drag').draggable({ revert: true }); 
$('.drop').droppable({ 
    drop: function() { 
     //   
    } 
}); 

// this can be dropped only inside .drop2 elements 
$('.drag2').draggable({ revert: true }); 
$('.drop2').droppable({ 
    drop: function() { 
     //   
    } 
}); 

Ainsi, un utilisateur ne sera pas en mesure de déposer élément avec classe .drag à .drop2 conteneur.

Répondre

1

This est ce que vous voulez.

Utilisez la propriété Accept du widget droppable et la propriété revert du widget déplaçable pour y parvenir.

+0

Encore une question. Que faire si j'avais un seul contenant déversable. Comment pourrais-je savoir, quel élément dragable a été traîné là? –

+0

Modifiez votre fonction de dépôt pour supprimer: function (event, ui) { alert ($ (ui.draggable) .attr ("id")) $ (this) .html ("Dropped!"); } –

+0

Avec ui.draggable, vous pouvez obtenir l'ID de l'élément supprimé. –