表行中单元格的jQuery droppable选择器

时间:2010-11-28 06:33:52

标签: jquery jquery-ui jquery-ui-draggable

我在为这个问题找出正确的选择器语法时遇到了一些麻烦,并希望得到一些帮助。

所以,我有一个有五列的表。在每一行中,在每个单元格中,我都有一个名为MyClass的DIV元素。我已经将MyClass的对象设置为可拖动,现在我需要设置适当的放置目标。我希望行中的任何单元格都存在MyClass元素,除了第一列,但仅适用于元素所在的行(它不应该被放在它上面或下面的行的列中)。

我希望这是有道理的。任何人都有任何想法是什么正确的语法?以下是我目前的工作方式,但它不太正确,因为它允许在上面或下面的行中删除。

$(".MyClass").closest("tr").children(":not('.column-1')").droppable({ ... });

1 个答案:

答案 0 :(得分:2)

您可以将函数传递给.droppable()的{​​{3}},因此它只接受同一行中的<div>个元素,如下所示:

$(".MyClass").closest("tr").children(":not('.column-1')").droppable({
    accept: function(draggable) {
        return $.contains(this.parentNode, draggable[0]);
    }
});

在函数draggable中是可拖动的jQuery对象,我们只是使用accept option来查看.parentNode<tr>)是否包含可拖动的...意思是你试图放弃的<div>来自这一排。

$.contains()