技术阿道 2017-05-25 12:47 采纳率: 22.2%
浏览 4944
已结题

如何用JQUERY实现左右移动

也就是左右各有一个table,对table内的tr中的td内容(不是select,这个简单)。中间是>>, > ,<<, <,的按钮点击可以对选中的数据进行左右移动,这个要怎么实现,还有就是
双击table中的一条内容也能够移动到另一边。具体代码学习下 谢谢。

  • 写回答

3条回答 默认 最新

  • 斯洛文尼亚旅游 2017-05-25 13:19
    关注

    这样?

    
    <script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.4.1.min.js"></script>
    <style>a{display:block;text-align:center}tr.selected{background:#ccc;}</style>
    <table border="1" cellpadding="10">
        <tr>
            <td>
                <table border="1">
                    <tr><td>1111</td><td>1111</td></tr>
                    <tr><td>2222</td><td>2222</td></tr>
                    <tr><td>3333</td><td>3333</td></tr>
                </table>
            </td>
            <td id="tdOp">
                <a href="#">>></a>
                <a href="#">></a>
                <a href="#"><<</a>
                <a href="#"><</a>
            </td>
            <td>
                <table border="1">
                </table>
            </td>
        </tr>
    </table>
    <script>
        $('#tdOp a').click(function () {
            var toRight = this.innerHTML.charAt(0) == '>', all = this.innerHTML.length > 1;
            var s = tables.eq(toRight ? 0 : 1), t = tables.eq(toRight ? 1 : 0);
            if (!all && s.find('tr.selected').length == 0) { alert('请先选中要移动的数据行!'); return false }
            t.append(s.find('tr' + (all ? '' : '.selected'))).find('tr').removeClass('selected');
            return false;
        });
        var tables = $('td table');
        tables.find('tr').click(function () { $(this).toggleClass('selected'); }).dblclick(function () {
            var t = $(this).closest('table'), r = tables.eq(t[0] == tables[0] ? 1 : 0);
            r.append(this);
        });
    </script>
    
    评论

报告相同问题?