2016-03-29 7 views
0

Hallo allerseits Ich versuche eindeutige IDs zu fallen gelassene Elemente zuzuweisen.Wenn ich ein Element von einem Div-Tag zu einem anderen ziehe, wird ihm eine ID zugewiesen, aber wenn ich dieses Element an eine andere Position ziehe Die ID wird geändert. Ich möchte die ID beibehalten, auch wenn das gleiche Element mehrmals gezogen wird.Zuweisen eindeutiger IDs zu gelöschtem Element

// JavaScript Dokument

$(document).ready(function() { 
var x = null;  
//Make element draggable 
$(".drag").draggable({ 
    helper: 'clone', 
    cursor: 'move', 
    tolerance: 'fit' 
}); 
var i=1,j=0; 
var x1,x2,y1,y2,tmp,tmp2; 
$("#droppable").droppable({ 

    drop: function(e, ui) { 

    ui.helper.attr('id',"id"+i); 
    //ui.helper.remove(); 
    tmp=ui.helper.attr('id'); 
    x = ui.helper.clone().bind("click",'img',function(){ 
    alert("clicked"+ ui.helper.attr('id') + tmp + tmp2); 
    leftpos = ui.offset.left-210; 
    toppos= ui.offset.top; 
    //document.write("leftpos="+ leftpos); 
    //document.write("toppos="+ toppos); 

    var cor=window.prompt("Enter coordinates x1,y1"); 
    //window.location.href="floordata.php?c="+cor; 

    }); 

      x.draggable({ 
      helper: 'original', 
      containment: '#droppable', 
      tolerance: 'fit', 
     }); 

     x.appendTo('#droppable'); 
     ui.helper.remove(); 
     i++; 
     } 

     }); 
    }); 
+0

nur ein Gedanke auf 'Ich möchte die ID gleich, auch wenn das gleiche Element mehrmals gezogen wird. *** ID sollte immer eindeutig ***. – guradio

Antwort

1

Ihre divs Unter der Annahme haben keine id ihnen zugeordneten vor dem ersten Ziehen Sie einfach die ID überprüfen können, und nicht erneut vergeben werden, wenn ein solches vorhanden ist. So etwas sollte funktionieren

var attr = ui.helper.attr('id'); 

// check if the id attribute exists, if it doesn't assign id 
if (typeof attr == typeof undefined || attr == false) { 
    ui.helper.attr('id',"id"+i); 
} 
+0

danke für Ihre Hilfe es hat funktioniert .. –

+0

Ihre divs haben höchstwahrscheinlich ID-Attribut an erster Stelle dann. Wenn Sie ein jsFiddle erstellen können, um Ihr Problem zu demonstrieren, ist es viel einfacher zu helfen. – Shaunak

Verwandte Themen