我现在正在开发一个可以拖动元素并放入表格单元格的网站(每个单元格都有“ID”)
现在我可以将元素拖放到单元格中,但我想知道
这是图片的概念。
假设单元格的ID是行号和列号的组合。
答案 0 :(得分:0)
首先,您需要重命名您的ID,因为一个ID无法以数字开头。你只需要一个字母,例如“ID11”“ID12”......
比什么是细胞? DIV? TD?输入
你能jsfiddle吗?
- 编辑。
你需要像这样的东西:
你必须只改变你的目标:
$(function() {
$("#draggable").draggable({ snap: ".drop"});
$(".drop").droppable({
drop: function(event, ui){
console.log("Dropped to" + $(".drop").attr("id"));
$( this )
.addClass( "ui-state-highlight" )
.find( "p" )
.html( "Dropped!" );
}
});
});
答案 1 :(得分:0)
选中fiddle。
首先,您需要通过定义ondragover
事件回调来启用要拖动的表格单元格。在小提琴中:
box.ondragover = function (evt) { evt.preventDefault(); };
preventDefault
确保浏览器不会在元素上设置下拉锁定。
然后您只需使用事件数据,如下所示:
box.ondrop = function (evt) { droppedTo.innerHTML = evt.toElement.id; };
toElement
保留对您放置的元素的引用,您可以从中获取所需的所有数据,包括id
。
答案 2 :(得分:0)
您需要像这样更改脚本
$(function () {
$("#draggable").draggable({
snap: ".drop"
});
$(".drop").droppable({
drop: function (event, ui) {
alert($(this).attr("id"));
console.log("Dropped to " + $(this).attr("id"));
}
});
});
从 $(" .drop")。attr(" id")更改为 $(this).attr(&#34 ; id")获取您要放入的元素的ID:)
答案 3 :(得分:0)
这是工作fiddle。
尝试这样的事情:
$(function() {
$("#draggable").draggable({ snap: ".drop"});
$(".drop").droppable({
drop: function(event, ui){
console.log($(this).attr('id'));
}
});
});