2011-08-30 84 views
2

单击某一行中的复制链接时,我需要创建另一行并将其所有内容复制到新行。这是我有的代码:无法复制单元值

addNewInlineRow(sid, idToUse); // this creates a new row with empty values 
//this copies the value from old row to new row 
$("#"+rowId+ " td").each(function(index){ 
    $("#"+idToUse+ " td").get(index).text($(this).text()); 
}); 

但是这段代码不起作用。有什么建议么?由于存在用于创建TR ID的复杂逻辑,我无法克隆整个TR!

+0

你试过克隆TR? –

回答

0

当您使用.get()您正在检索DOM元素时,它不是jQuery对象,因此您不能使用.text()来设置文本值。尝试:

$("#"+idToUse+ " td").get(index).innerHTML = $(this).text(); 
-1

当你想检索值形成像div,span

所有容器必须在jQuery的使用.html()

尝试打击代码:

$("#"+idToUse+ " td").get(index).html($(this).html()); 
1

您可以使用clone方法得到的tr克隆并追加到表TBODY。

试试这个

function addNewInlineRow(sid, idToUse){ 
    var $clone = $("#"+sid).clone(); 
    $clone.attr("id", idToUse); 

    //Now append the clone to table 
    $("table").append($clone); 
} 
+0

你打败了我,因为我慢了一把小提琴。这里是任何人通过这个页面停止:http://jsfiddle.net/gZhdg/ –

0

您仍然可以克隆整个TR,然后更新需要更新(即ID)的部分:

function addNewInlineRow(sid, idToUse){ 
    $('#' + sid).clone().attr('id', idToUse).appendTo('table'); 
}