2016-03-29 54 views
0

こんにちは、私は一意のIDをドロップ要素に割り当てようとしています.1つのdivタグから別のdivタグに要素をドラッグすると、idが割り当てられます。 idは変更されます。同一の要素が複数回ドラッグされている場合でもidは同じにしておきたいと思います。ドロップされた要素に一意の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

「同じ要素を複数回ドラッグしても同じIDを保ちたい」という考えだけです。*** IDは常に一意であるべきです***。 – guradio

答えて

1

あなたのdivは、最初のドラッグの前に彼らに何のidが割り当てられていないと仮定すると、あなたは、単にIDを確認することができ、1つが存在する場合は、再割り当てないでください。このようなものはうまくいくはずです

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

助けてくれてありがとうございました。 –

+0

あなたのdivは、最初にID属性を持つ可能性が最も高いです。 jsFiddleを作成して問題のデモを表示することができれば、助けがはるかに簡単になります。 – Shaunak

関連する問題