首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在表格的特定位置使用jQuery UI draggable和droppable?

如何在表格的特定位置使用jQuery UI draggable和droppable?
EN

Stack Overflow用户
提问于 2017-05-01 17:18:50
回答 2查看 1.3K关注 0票数 0

我想拖动表中的一些项目,并将它们放到其他有特定编号的表行上!(所以我不想要jquery-UI-sortable),这是我的工作:jsfiddle

代码语言:javascript
复制
<table width="320px">
<tbody>
    <tr style="line-height:30px">
        <td width="10%">Pos1</td>
        <td width="90%" rowspan="5">
            <div class="dragable-object" >Item 1</div>
            <div class="dragable-object" >Item 2</div>
        </td>
        </tr>
    <tr style="line-height:30px"><td class="position" width="10%">Pos2</td>
    <tr style="line-height:30px"><td class="position" width="10%">Pos3</td>
    <tr style="line-height:30px"><td class="position" width="10%">Pos4</td>
    <tr style="line-height:30px"><td class="position" width="10%">Pos5</td>
</tbody>
</table>

<script type='text/javascript'>

$(".dragable-object").draggable({
    revert: "invalid"        
});

$(".position").droppable();
</script>

我该怎么做呢?

EN

回答 2

Stack Overflow用户

发布于 2017-05-01 18:54:19

你可以试试这个,

代码语言:javascript
复制
$(function() {
    $(".dragable-object").draggable({
        revert: "invalid", 
        cancel: "a.ui-icon",
        containment: "document",
        helper: "clone",
        cursor: "pointer"
    });
    $( ".position" ).droppable({
        tolerance: "touch",
        accept: ".dragable-object",
        classes: {"ui-droppable-active": "ui-state-highlight"},
        drop: function (event, ui) {
           var sss="<tr style='line-height:30px'><td class='position' width='50%'>";
           sss +=(ui.draggable.context.innerText);
           sss +="</td>";
           $("tbody").append(sss);
        }
   });
});

使用以下链接:http://jsfiddle.net/mL338128/46/

票数 0
EN

Stack Overflow用户

发布于 2017-05-02 03:35:44

您的jQuery或jQuery UI库似乎有问题。使用jQuery 3.1.1和jQuery UI 1.12.1进行了测试

工作示例:https://jsfiddle.net/Twisty/fyxjLh3y/6/

HTML

代码语言:javascript
复制
<table width="320px">
  <tbody>
    <tr style="line-height:30px">
      <td width="10%">Pos1</td>
      <td width="90%" rowspan="5">
        <div class="dragable-object">Item 1</div>
        <div class="dragable-object">Item 2</div>
      </td>
    </tr>
    <tr style="line-height:30px">
      <td class="position" width="10%">Pos2</td>
    </tr>
    <tr style="line-height:30px">
      <td class="position" width="10%">Pos3</td>
    </tr>
    <tr style="line-height:30px">
      <td class="position" width="10%">Pos4</td>
    </tr>
    <tr style="line-height:30px">
      <td class="position" width="10%">Pos5</td>
    </tr>
  </tbody>
</table>

CSS

代码语言:javascript
复制
tr,
td {
  border: 1px solid #ccc;
}

.dragable-object {
  border: 1px solid #000;
  width: 10em;
}

.highlight {
  border-color: #000;
}

JavaScript

代码语言:javascript
复制
$(function() {
  $(".dragable-object").draggable({
    revert: "invalid",
    containment: "table"
  });

  $(".position").droppable({
    accept: "div",
    tolerance: "touch",
    classes: {
      "ui-droppable-hover": "highlight"
    },
    drop: function(e, ui) {
      ui.draggable.attr("style", "");
      $(this).append(ui.draggable);
      $(this).find(".dragable-object").draggable("destroy");
    }
  });
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43716866

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档