我想将数据库中的一些数据输出到一个HTML表中,并希望用户能够对表行重新排序.为了实现这一点,我使用了jQuery UI sortable,因此:

<script>
    $(function() {
        $( "#sortable" ).sortable();
        $( "#sortable" ).disableSelection();
    });
    </script>
<?php 
 while($row = mysql_fetch_assoc($co_authors)) {
                    echo "<tr id='sortable'><td>{$row['author_email']}</td>
                         <td>{$row['coauthor_level']}</td>";
                         <td><button class='remove' id='remove' name='remove' email="<?php echo $row['author_email'] ?>"
                            paper="<?php echo $row['paper_id'] ?>">Remove</button></td>
                         </tr>";
                }
?>

问题是,当我拖动表tr时,只会拖动td.而且,最重要的是,只有第一行是可拖动的:该效果不会应用于其他行.我该怎么解决这个问题?

推荐答案

You can call sortable on a <tbody> instead of on the individual rows.

<table>
    <tbody>
        <tr> 
            <td>1</td>
            <td>2</td>
        </tr>
        <tr>
            <td>3</td>
            <td>4</td> 
        </tr>
        <tr>
            <td>5</td>
            <td>6</td>
        </tr>  
    </tbody>    
</table>​

<script>
    $('tbody').sortable();
</script> 

$(function() {
  $( "tbody" ).sortable();
});
 
table {
    border-spacing: collapse;
    border-spacing: 0;
}
td {
    width: 50px;
    height: 25px;
    border: 1px solid black;
}
 

<link href="//code.jquery.com/ui/1.11.1/themes/smoothness/jquery-ui.css" rel="stylesheet">
<script src="//code.jquery.com/jquery-1.11.1.js"></script>
<script src="//code.jquery.com/ui/1.11.1/jquery-ui.js"></script>

<table>
    <tbody>
        <tr>
            <td>1</td>
            <td>2</td>
        </tr>
        <tr>
            <td>3</td>
            <td>4</td>
        </tr>
        <tr> 
            <td>5</td>
            <td>6</td>
        </tr>
        <tr>
            <td>7</td>
            <td>8</td>
        </tr>
        <tr>
            <td>9</td> 
            <td>10</td>
        </tr>  
    </tbody>    
</table>

Jquery相关问答推荐

在函数 jQuery 中更改语言

如何使用 aria-expanded="true" 更改 CSS 属性

禁用提交按钮,直到所有字段都有值

如何确定 jQuery 中匹配元素的元素类型?

如何使用 jQuery 将表格的一行滚动到视图 (element.scrollintoView) 中?

我们如何在不重新加载页面的情况下使用 javascript/jQuery 更新 URL 或查询字符串?

我如何从 ACE 编辑器中获得价值?

为什么我们在 jQuery 中使用({ })?

错误找不到 jquery-2.0.2.min.map

jQuery $.browser 是否已弃用?

有没有办法放大 D3 力布局图?

确定 JavaScript 值是否为整数?

offsetTop 与 jQuery.offset().top

为什么不推荐$().ready(handler)?

使用 jquery 在 radio 上单击或更改事件

jQuery ajax (jsonp) 忽略超时并且不触发错误事件

测试两个元素是否相同

Underscore.js 和 jQuery 互补吗?

如何使 jQuery Contains 不区分大小写,包括 jQuery 1.8+?

如何使用 jQuery Validation Plugin 以编程方式判断表单是否有效