javascript - 如何为 droppable td 编写接受条件,以便它只接受表中的邻居 td

标签 javascript jquery

我有一张表,其中只有一个 td 是空的。用户可以在这里拖放 td 元素。我正在尝试编写条件,以便空 td 只接受其相邻的 td 元素。

能否请您建议我接受条件,以便 ui.droppable 或空 td 接受其邻居 td 。

代码:

$("#dropdiv #c tr td").draggable({
    appendTo: "body",
    helper: 'clone',
    cursor: "move",
    revert: "invalid"
});

$('#c tr td').droppable({
    accept: function(event, ui) {
        return ($(this).html().trim().length == 0)
    },
    drop:function (event, ui ) {
        $(this).append(ui.draggable.text());
        $(ui.draggable).empty();
    }
}); 

在上面的代码中,如果 td 为空,则只有 td 接受 ui.draggable 。

请在此处找到演示:http://jsfiddle.net/ggbhat/6JKWp/2/

在演示中,中间(5)td 是空的,我只希望 2,4,6,8 被 5 接受。

最佳答案

你可以使用类似的东西,

        $('#c tr td').droppable({
           accept: function(ui, item) {
               if($(this).html().trim().length != 0)
                  return false;

               if($(ui).index()==$(this).index())
                 return true;

               var next=$(this).next().get(0);
               var prev=$(this).prev().get(0);
               var me=ui.get(0);

               if(me==next||me==prev)
               return true;

               return false;  
           },
          drop:function (event, ui ) {
                $(this).append(ui.draggable.text());
                $(ui.draggable).empty();   
          }
       });  

关于javascript - 如何为 droppable td 编写接受条件,以便它只接受表中的邻居 td,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20765066/

相关文章:

javascript - 从 python 编辑 .js 文件

javascript - Jquery/Javascript 文本框在输入内容时更改值,如果不集中则还原

javascript - AngularJS - 包含子范围的范围

javascript - 鼠标悬停时的文本幻灯片

jquery - 将远程 JSON 数据绑定(bind)到 Kendo TreeView - 仅获得第一层

jquery - 如何将无序列表转换为表格?

javascript - 在 infiniteHits 小部件上触发 showMore (Algolia istantsearch.js)

javascript - 在这里无法理解范围问题

jquery - 内容应该在 html 页面中从页眉到页脚填充

javascript - js.devexpress.com dxDataGrid 如何使用自定义标题导出到 Excel?