是否存在交换表行的任何快捷方式,包括这些行中的输入元素的属性

时间:2014-01-14 12:39:03

标签: jquery

是否存在交换表行的任何快捷方式,包括这些行中输入元素的属性。

编辑:实际上我不需要交换属性,但我需要在这些内部交换值。 我的系统在属性和保存顺序之间有一些连接。 属性就像

a[0],b[0],c[0] etc.,
a[1],b[1],c[1] etc.,

所以在交换之后我需要交换值。 enter image description here

2 个答案:

答案 0 :(得分:1)

编辑没有快捷方式,因为我从未见过用户界面突然将用户输入的数据保存在其他地方的UI。

示例:我有一个表格,您可以在其中输入您的姓名。由于人们首先要输入值,我可以在我的UI中添加一个首选项,允许他们交换这两行。但姓氏(UI)仍然进入姓氏(数据库),姓氏(UI)进入姓氏(数据库)。切换行不会突然将姓氏与姓氏联系起来。

不要交换元素的属性,只需更改DOM中表行的顺序:

row.insertBefore(row.prev());

移动所有内容并保持自定义属性不变。

答案 1 :(得分:0)

我没有获得任何快捷方式,但下面的代码给出了我想要的结果。

jQuery("body").on("click",".up,.down",function(){
        var current_row = $(this).parents("tr:first");
        if ($(this).is(".up")) {
            if(current_row.prev().find("th").length==0){ //If this is title row
                row_need_to_replace    =   current_row.prev();
            }
        } else {
            row_need_to_replace    =   current_row.next();
        }
        if(row_need_to_replace.find("input,textarea").length>0)
        {
          var i=0;
          current_row.find(":input").each(function(){
            input_need_to_replace=row_need_to_replace.find(":input :eq("+i+")");
            temp   =   input_need_to_replace.val();
            input_need_to_replace.val($(this).val());
            $(this).val(temp);                
            i++;
          });
        }
    });