页面显示有两个表格,表格显示的分别是来自两个数据库表的数据,通过点击TR实现左右移动如下图已经可以实现最初表格TR的左右移动
现在出现一个问题
            比如说,点击左边的“1-A”再点右移,该行会插入在右表的底端,左表的这一行删除。但是现在点击右表“1-A”行,再点击左移按钮不能把这一行左移到左表中去,而是把“1-A”的上一行给左移了。
 望大家能分享一下处理经验。分不多了,见谅。jqueryhtml

解决方案 »

  1.   

    左移右移本质没区别,
    既然能实现一个,另外一个做不了,肯定是代码的Bug咯,
    检查一下点击“1-A”行后台取得数据的地方呗
      

  2.   

    重新发一下
     页面显示有两个表格,表格显示的分别是来自两个数据库表的数据,通过点击TR实现左右移动如下图已经可以实现最初表格TR的左右移动
    现在出现一个问题
                比如说,点击左边的“1-A”再点右移,该行会插入在右表的底端,左表的这一行删除。但是现在点击右表“1-A”行,再点击左移按钮不能把这一行左移到左表中去,而是把“1-A”的上一行给左移了。
     望大家能分享一下处理经验。分不多了,见谅。
    我的jquery代码
    $(function(){
    var ltrId, rtrId, selectTr;
            //点击左表的TR获取该行信息
    $("#ltable tr").click(function(){
    ltrId = $(this).index();
    selectTr = $("#ltable tr").eq(ltrId);
    clCode = $(this).children("td").eq(0).html();
    });
            //点击右表的TR获取该行信息
    $("#rtable tr").click(function(){
    rtrId = $(this).index();
    selectTr = $("#rtable tr").eq(rtrId);
    crCode = $(this).children("td").eq(0).html();
    });

    //右移按钮按下后
    $("#addBtn").click(function(){
    if(selectTr == ""){
    alert("未选中一行!");
    return false;
    }
    var ltr = $("#ltable tr").eq(ltrId).clone();
    ltr.insertAfter($("#rtable tr:last"));
    $("#ltable tr").eq(ltrId).remove();
    });

    //左移按钮按下
    $("#delBtn").click(function(){
    if(selectTr == ""){
    alert("未选中一行");
    return false;
    }
    var rtr = $("#rtable tr").eq(rtrId).clone();
    rtr.insertAfter($("#ltable tr:last"));
    $("#rtable tr").eq(rtrId).remove();
    });
      

  3.   

    行移走后要给这行注册事件,结贴吧
                    //右移按钮按下后
                    $("#addBtn").click(function () {
                        if (selectTr == "") {
                            alert("未选中一行!");
                            return false;
                        }
                        var ltr = $("#ltable tr").eq(ltrId).clone();
                        ltr.insertAfter($("#rtable tr:last"));
                        $("#ltable tr").eq(ltrId).remove();
                        ltr.click(function () {
                            rtrId = $(this).index();
                            selectTr = $("#rtable tr").eq(rtrId);
                            crCode = $(this).children("td").eq(0).html();
                        });
                    });