セル内にドロップ可能な div を使用して、JS を介してテーブルを作成しました。要素をそこにドロップすると、tge drop 関数が 2 回起動します。(コンソールを参照)。forループと関係があると思います...
Jsbin : http://jsbin.com/OMIbOGU/50/edit
JS
$("document").ready(function(){
function init(){
var table = $("<table></table>");
$("body").append(table);
for(var i=0 ;i < 9; i++){
var row = $("<tr></tr>");
var cell = $("<td></td>");
for(var j = 0;j<2;j++){
var slot = $("<div></div>").addClass('slot');
slot.droppable({
accept: ".unassigned",
tolerance: "touch",
drop:function(){
console.log("dropped");
}
});
if (j!==1)
slot.addClass("dotted");
cell.append(slot);
}
row.append(cell);
table.append(row);
}
$(".unassigned").draggable({
revert: "invalid",
snap: "td div"
});
}
for(var k = 0 ; k<4;k++)
init();
});