2010-09-04 5 views
0

Je n'ai pas l'id div tombé sur une autre laissant tomber sur div je reçois le id_droppable i mais n'a pas obtenu la id_dropped div L'alerte id_dropped donne non défini comme résultatglisser-déposer dans jquery

S'il vous plaît Aidez-moi à vérifier mon code et à corriger mon erreur.

$(".full-circle").droppable({ 
    accept: ".unseated_guest", 
    drop: function(event, ui) { 
     var id_droppable = this.id; 
     alert(id_droppable); 
     var id_dropped = ui.id; 
     alert(id_dropped); 
     var name=document.getElementById("div_name_0").value; 
     $(this).css("background-color","red"); 
     $(this).append(ui.draggable); 
     //$(this).draggable('disable'); 
     } 

    }); 

Répondre

0

Le paramètre ui ne possède pas un attribut id, comme il est fait référence à l'élément étant médicament. Vous devez obtenir le id comme ui.draggable.attr('id'), ou quelle que soit la méthode que vous préférez pour obtenir le id d'un élément.

$(".full-circle").droppable({ 
    accept: ".unseated_guest", 
    drop: function(event, ui) { 
     //Stuff above 
     var id_dropped = ui.draggable.attr('id'); 
     alert(id_dropped); 
     //Stuff below 
     } 

    }); 
0

l'intérieur du gestionnaire d'abandon, $(this) est le largable, ui.draggable est le glissable (comme un objet jQuery). Donc, pour le largable:

$(this).attr('id'); 
// or 
this.id; 

Et pour la draggable:

ui.draggable.attr('id'); 
// or, for the sake of symmetry: 
ui.draggable[0].id; 
+0

il fonctionne grâce à vous deux – shahul