复制表中的select元素

时间:2014-10-23 08:47:30

标签: javascript jquery html

我有一个动态表,我在用户单击按钮时动态添加行。

我的按钮调用以下功能:

<input type="button" value="Add" onclick="addRowTuy($('#AmonttableTuy tbody'), 'AmontTuy');" />

我的函数在我的表中添加了一个新行。它包括文本字段,输入和选择。

我对创建新输入和文本没有任何问题,但对于select,我想复制现有的select并更改其id。这是我的问题。

这是我在表格中创建新行的功能:

function addRowTuy(table, value)
{
var nbrow = table.children().size();
    table.append( "<tr>"+
    "<td>"+(nbrow+1)+"</td>"+
    "<td><input id='"+value+(nbrow+1)+"Diam"+"'/></td>"+
    "<td><input id='"+value+(nbrow+1)+"Long"+"'/></td>"+
    "<td>"+$("#AmontTuy1Type")+"</td>"+ //This is where I want copy the select element
    "<td><input id='"+value+(nbrow+1)+"Rugo"+"'/></td>"+
"</tr>");
}

您对如何做到这一点有所了解吗?

3 个答案:

答案 0 :(得分:2)

这样的事情应该有效

"<td>"+$("#AmontTuy1Type").clone().attr('id', 'newID').html() + 

您需要克隆并将其html添加到字符串中,而不是元素本身。或者创建一个td元素并将克隆附加到它。

<强>更新

是的,你是对的,html()只接受选项,而不是选择本身。试试这个:

"<td>"+"<select id='newID'>" + $("#AmontTuy1Type").html() + "</select>" +

答案 1 :(得分:1)

有不同的方法可以做到这一点。以下链接对您有所帮助。

How to add (clone) form fields using jQuery and increment ids and names

jquery clone form fields and increment id

答案 2 :(得分:0)

我这样做了

$("#AmontTuy1Type").parent().clone().attr('id', 'newID').html()

它复制了选择井,但是这个的ID不会改变吗?