[英]How to get header cell name when dragging and dropping cell content
am here trying to perform drag and drop operations on cell data here what i want to do is,get the cell header name of the cell where am dropping content ,here am able to get cell header of that cell where am dragging content 在这里尝试对单元格数据执行拖放操作吗?我想要做的是,获取要删除内容的单元格的单元格标题名称,在这里能够获取要拖动内容的单元格的单元格标题
this is the code am using for drag and drop functionality 这是用于拖放功能的代码
<table id="#our_table" border="1">
<tr>
<th>head1</th>
<th>head1</th>
<th>head1</th>
</tr>
<tr><th>Row1<th>
<td><span class="event" id="a" draggable="true">aaa</span></td>
<td><span class="event" id="b" draggable="true">bbb</span></td>
<td></td>
</tr>
<tr>
<th>Row2<th>
<td></td>
<td></td>
<td></td>
</tr>
</table>
$(document).ready(function(){
$('.event').on("dragstart", function (event) {
var dt = event.originalEvent.dataTransfer;
dt.setData('Text', $(this).attr('id'));
});
$('table td').on("dragenter dragover drop", function (event) {
event.preventDefault();
if (event.type === 'drop') {
var data = event.originalEvent.dataTransfer.getData('Text',$(this).attr('id'));
if($(this).find('span').length===0){
de=$('#'+data).detach();
de.appendTo($(this));
}
};
});
})
You can use index of current cell to fetch the header. 您可以使用当前单元格的索引来获取标头。
Here is my answer 这是我的答案
$(document).ready(function () {
$('.event').on("dragstart", function (event) {
var dt = event.originalEvent.dataTransfer;
dt.setData('Text', $(this).attr('id'));
});
$('table td').on("dragenter dragover drop", function (event) {
event.preventDefault();
if (event.type === 'drop') {
var data = event.originalEvent.dataTransfer.getData('Text', $(this).attr('id'));
if ($(this).find('span').length === 0) {
de = $('#' + data).detach();
index = $(this).index();
headerText = $("table th").eq(index).text();
console.log(headerText);
alert(headerText);
de.appendTo($(this));
}
}
;
});
})
And here is working fiddle http://jsfiddle.net/toLvzrLp/3/ 这是工作提琴http://jsfiddle.net/toLvzrLp/3/
I don't know whether it would be helpful to you or not but you can add that header's name as property for your td and then at time of drag&drop you can access that. 我不知道这对您是否有帮助,但是您可以将该标题的名称添加为td的属性,然后在拖放时就可以访问它。
For Example. 例如。
<table id="#our_table" border="1">
<tr>
<th>head1</th>
<th>head1</th>
<th>head1</th>
</tr>
<tr>
<td><span class="event head1" id="a" draggable="true">aaa</span></td>
<td><span class="event head2" id="b" draggable="true">bbb</span></td>
<td><span class="head3"></span></td>
</tr>
<tr>
<td><span class="head1"></span></td>
<td><span class="head2"></span></td>
<td><span class="head3"></span></td>
</tr>
</table>
$(document).ready(function(){
$('.event').on("dragstart", function (event) {
var dt = event.originalEvent.dataTransfer;
dt.setData('Text', $(this).attr('id'));
var headName=$(this).attr('class').remove('event');
});
$('table td').on("dragenter dragover drop", function (event) {
event.preventDefault();
if (event.type === 'drop') {
var data = event.originalEvent.dataTransfer.getData('Text',$(this).attr('id'));
if($(this).find('span').length===0){
de=$('#'+data).detach();
de.appendTo($(this));
}
};
});
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.