Comment passer une variable à partir de jQuery déplaçable à droppable

Je suis en train d'utiliser jQuery déplaçable/drop pour faire glisser un élément de la liste à une div, sur laquelle l'élément de la liste sera supprimé de la déplaçable ul et un appel ajax sera faite pour supprimer l'élément correspondant dans la base de données MySQL.

Le code HTML:

<ul id="draggable">
 <li id="list_1">List item 1</li> //Incrementing ID nos. from database
 <li id="list_2">List item 2</li>
 <li id="list_3">List item 3</li>
</ul>

<div id="droppable"></div>

Le jQuery jusqu'à présent:

$('#draggable li').draggable({
 drag: function(event, ui) {
  var id = $(this).attr('id').split("_");
  id = id[1];    //OK so far - but how to pass this to droppable?
  }
});

$('#droppable').droppable({
 drop: function(event, ui) {
  //How to get the id from draggable here so the correct list item is acted on?
  $('#draggable li').remove();
  $.ajax({ 
   url: "delete.php",
   type: "GET",
   data: {
    'id': id,
    'user_id': user_id  //user_id comes from PHP
  }, //end ajax        }
});

Mise à JOUR

Merci beaucoup pour les réponses. Je l'ai eu à travailler à l'aide de:

<script>
 var user_id = "<?php print($user_id); ?>";

 $(document).ready(function() {

    $('#draggable li').draggable({
      helper: 'clone'
    });

    $('#droppable').droppable({
      accept: '#draggable li', 
       drop: function(ev, ui) {
         var id = $(ui.draggable).attr('id').split("_");
         var movie_id = id[1];
         $('#draggable li#list_' + id).remove();

         $.ajax({ //begin add ajax
            url: "delete.php",
            type: "GET",
            data: { //begin add data
              'id': id,
               'user_id': user_id
            } //end data
         }); //end ajax

       } //end drop function
    }); //end droppable
 }); //end ready

</script>

Il seeems OK pour moi - il des problèmes avec ce que l'on peut voir?

  • Juste que vous n'êtes pas en attente d'une réponse de votre serveur dans votre requête ajax, mais le Drag & Drop semble des travaux ! Vous pourriez probablement gérer la suppression de plus facile que d', sélectionnez de nouveau le code HTML de l'élément DOM, mais de toute façon, il fonctionne.
InformationsquelleAutor westernKid | 2013-04-15