[Résolu] [Jquery] ui droppable limiter nombre de drop

ui droppable limiter nombre de drop [Résolu] [Jquery] - HTML/CSS - Programmation

Marsh Posté le 02-12-2009 à 11:16:22    

bonjour,
 
je rencontre un problème. je ne sais pas du tout comment limiter mon nombre de drop a 3. c'est a dire je ne veut que l'utilisateur puisse faire plus de 3 drop dans la div #droppable. actuellement je limite le nombre d'insertion dans le script php de l appel ajax. si il y a déjà 3 ligne dans la bdd on ajout plus mais spa top..
 
merci de votre aide.
 
mon html :

Code :
  1. <body>
  2. <div id="droppable"></div>
  3. <div id="draggable">
  4.      <li id="1">item1</li>
  5.      <li id="2">item1</li>
  6.      <li id="3">item1</li>
  7.      <li id="4">item1</li>
  8.     .........
  9. </div>
  10. </body>


je ne sais même pas si c est la bonne méthode ou si il faut plutôt utiliser la fonction sortable ...  
mon javascript :

Code :
  1. $(function(){
  2. var q7=$("#1,#2,#3,#4,#5,#6,#7,#8,#9,#10" );
  3. $.each(q7,function(){
  4. $(this).draggable({ revert: 'invalid' });
  5. });
  6. var limit = 3;
  7. var nbdrop = 0;
  8. $("#droppable" ).droppable({
  9.   accept: ".1",
  10.   tolerance: 'fit',
  11.   drop: function(event, ui) {
  12.   nbdrop++;
  13.   //alert(nbdrop);
  14.   var objet_drop = $(ui.draggable); // L'élément drop  
  15.             var nameid = objet_drop.attr('id'); // ID de l'élément drop  
  16.   $.get("ajax/ajou.php",{statut:"add",id:nameid});
  17.   }
  18.  });
  19.  $("#draggable" ).droppable({
  20.   drop: function(event, ui) {
  21.   nbdrop--;
  22.   var objet_drop = $(ui.draggable); // L'élément drop  
  23.             var nameid = objet_drop.attr('id'); // ID de l'élément drop  
  24.   $.get("ajax/ajou.php",{statut:"sup",id:nameid});
  25.   }
  26.  });
  27. });


Message édité par d@kn1ko le 04-12-2009 à 10:09:23
Reply

Marsh Posté le 02-12-2009 à 11:16:22   

Reply

Marsh Posté le 02-12-2009 à 16:21:50    

tu peux utiliser l'option accept pour vérifier combien d'élément ont déja été droppés:  
 

Code :
  1. accept: function(draggable) {
  2.           return nbdrop < 3;
  3.         },

au lieu de

Code :
  1. accept: ".1",

Reply

Marsh Posté le 03-12-2009 à 10:06:48    

pataluc a écrit :

tu peux utiliser l'option accept pour vérifier combien d'élément ont déja été droppés:  
 

Code :
  1. accept: function(draggable) {
  2.           return nbdrop < 3;
  3.         },

au lieu de

Code :
  1. accept: ".1",



 
oui apres lecture de la doc j ai vu qu'on pouvait mettre une fonction callback mais pas moyen de trouver un exemple clair  :D  
 
v tester  :hello:  
 
merci bien

Reply

Marsh Posté le 04-12-2009 à 09:35:47    

d@kn1ko a écrit :


 
oui apres lecture de la doc j ai vu qu'on pouvait mettre une fonction callback mais pas moyen de trouver un exemple clair  :D  
 
v tester  :hello:  
 
merci bien


 
 
ca marche nikel

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed