一个表格里面有些单元格可放,有些单元格不可放,有内容的单元格拖动到可放置的单元格的时候,鼠标松开,把两个单元格的内容互换
你说的是excel中的吗?
如果是的话,你可以使用剪切
把问题说清楚点:
是你要做一个表格中单元格相互拖动的web网页功能吗?
有要求的用什么框架吗?没有的话 用extjs 实现很简单的。
在网页实现这种效果,jquery+easyUI实现很方便,以下是我以前做的排班表的脚步部分,供参考:
<style type="text/css">
.left{
width:120px;
float:left;
}
.left table{
background:#E0ECFF;
}
.left td{
background:#eee;
}
.right{
float:right;
width:600px;
}
.right table{
background:#E0ECFF;
width:100%;
}
.right td{
background:#fafafa;
text-align:center;
padding:2px;
}
.right td{
background:#E0ECFF;
}
.right td.drop{
background:#fafafa;
width:100px;
}
.right td.over{
background:#FBEC88;
}
.item{
text-align:center;
border:1px solid #499B33;
background:#fafafa;
width:100px;
}
.assigned{
border:1px solid #BC2A4D;
}
.clear{
color:red;
}
.style1
{
width: 43px;
}
.style2
{
HEIGHT: 22px;
width: 43px;
}
</style>
<script>
$(function () {
$('.left .item').draggable({
revert: true,
proxy: 'clone'
});
$('.right td.drop').droppable({
onDragEnter: function () {
$(this).addClass('over');
},
onDragLeave: function () {
$(this).removeClass('over');
},
onDrop: function (e, source) {
$(this).removeClass('over');
if ($(source).hasClass('clear')) {
$(this).empty();
}
else
if ($(source).hasClass('assigned')) {
$(this).append(source);
} else {
var c = $(source).clone().addClass('assigned');
$(this).append(c);
c.draggable({
revert: true
});
}
}
});
$('#dateBegin').datebox({
formatter: function (date) {
var y = date.getFullYear();
var m = date.getMonth() + 1;
var d = date.getDate();
return y + '年' + m + '月' + d + '日';
}
}
);
$('#dateEnd').datebox({
formatter: function (date) {
var y = date.getFullYear();
var m = date.getMonth() + 1;
var d = date.getDate();
return y + '年' + m + '月' + d + '日';
}
}
);
var db = new Date();
// $('#dateBegin').val(db.toLocaleDateString());
$('#dateBegin').datebox('setValue', db.toLocaleDateString());
db.setDate(db.getDate() + 6);
$('#dateEnd').datebox('setValue', db.toLocaleDateString());
});
</script>