大家好,我正在尝试为删除元素分配唯一的ID。当我将一个元素从一个div标签拖到另一个div标签时,会分配一个id,但是当我将该元素拖到另一个位置时,id会被更改.I想要保持id相同,即使多次拖动相同的元素。
// JavaScript文档
$(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 :(得分:1)
假设您的div在第一次拖动之前没有为其分配id
,您只需检查ID,如果存在,则不要重新分配。这样的事情应该有效
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);
}