1

我有一个表,其中包含许多不同类别的行,例如:

Mobile
    nokia
    samsung
        grand-1
        grand-2
    Apple
Car
Computer
    Apple
    Intel
Mouse

我们有移动、汽车、计算机和鼠标等类别,我想拖放元素,但只能在其组内,就像我们可以将 grand-1 拖放到 grand-2 但不能在诺基亚或计算机下一样。但是整个三星集团可以拖动而不是诺基亚或苹果。

同样,Car 和 Mobile 以及所有内部类别都可以相互拖放。

我使用了一些 jQuery 库和 tablednd 插件,但我可以将每一行拖到任何地方,因为每个项目在表中都有不同的内容。

有什么解决办法吗?任何帮助,将不胜感激。

我在 perl 中使用以下子例程。

sub mainList {

    my $hash = shift;
    my $options = '';
    my $iter;
    $options .= "<table id='sort' class='grid' >
                 <tbody>";  
    $iter = sub {
        my $hash = shift;       
        my $indent = shift || '';
        my $count = 0;
        foreach my $k (sort keys %{$hash}) {                    
            my $v = $hash->{$k};
            $options .= "<tr><td>$v->{title}<br><" unless $indent;          
            if($indent){
                $options .= "$v->{title} $indent";          
            }                       
            if ($v->{children}){
                $iter->($v->{children}, "--");
            }

            $options .= "</td></tr>" unless $indent;                
        }

    };
    $iter->($hash);
    $options .="</tbody></table>";
    return $options;
}

我正在传递一个哈希引用来创建表。

4

2 回答 2

0

显而易见的解决方案是使用单独的表,每组 1 个。您可能不得不弄乱 CSS 边距、边框,以使表格看起来像 1 个无缝表格,如果那是您所追求的。

<table><caption>Mobile</caption>
<tr>
<td>nokia</td>
<td>samesung</td>
</tr>
</table>
<table><caption>Computer</caption>
<tr>
<td>apple</td>
<td>intel</td>
</tr>
</table>
于 2013-08-27T13:24:13.767 回答
0

您可以使用 jquery-ui,它可以选择仅删除某些元素

于 2013-08-27T13:45:16.927 回答