【问题标题】:jQuery UI sortable table handlejQuery UI 可排序表句柄
【发布时间】:2011-05-27 04:06:00
【问题描述】:

我在使用可排序选项句柄时遇到了一些困难。

当我使用时:

$("table tr").sortable().disableSelection();

没有问题。

如果我添加句柄选项,则可排序停止工作:

$("table tr").sortable({
    handle: "td:eq(0)"
}).disableSelection();

链接:

http://jsfiddle.net/22C2n/

http://jsfiddle.net/22C2n/1/

谁能帮帮我?

【问题讨论】:

    标签: jquery jquery-ui jquery-ui-sortable


    【解决方案1】:

    将您的<tr> 包装在<tbody> 中并将您的代码更改为:

    $("table tbody").sortable({
        handle: 'td:first'
    }).disableSelection();
    

    您指定包含要排序的元素而不是实际元素的容器...

    【讨论】:

    • 完美!!!它从表“FIRST”列开始排序,因此您可以轻松选择列文本。不要忘记删除 .disableSelection() 选项。
    【解决方案2】:

    尝试传递一个元素:http://jsfiddle.net/22C2n/5/

    $("table tr").sortable({
        handle: $("td:eq(0)")
    }).disableSelection();
    

    【讨论】:

    • 感谢您的回答,但代码不起作用,至少在 chrome 上。
    • 是的,我正在尝试使用 6A。但是,1B 和 1C(放下后也是 1A)仍然向右移动。也没有排序
    【解决方案3】:

    将句柄设置为td:eq(0) 只会使第一个表格单元格可排序,其余的单元格则不可排序。尝试在td 中添加span 并将其用作句柄(demo)。

    HTML

    <table>
        <tr>
            <td><span>&bull;</span>1A</td>
            <td>1B</td>
            <td>1C</td>
        </tr>
        ...
    </table>
    

    脚本

    $("table tr").sortable({
        handle: "span"
    }).disableSelection();
    

    【讨论】:

      猜你喜欢
      • 2012-08-21
      • 1970-01-01
      • 2011-05-15
      • 2012-01-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-17
      • 1970-01-01
      相关资源
      最近更新 更多