javascript / jquery克隆无法在下拉列表中工作

我在上一篇文章中问了一个问题,我想要动态生成行,并且应该在新行中复制数据。 它工作正常但仅适用于文本字段。 但是我的表格中也有下拉列表,并没有在新行中显示最后一行的选定选项。 这是我的问题将以前的行数据添加到动态生成的行

我有HTML代码:

Organization Project Product Activity
One/> two/>
Add More Rows with Same Data as Above 1 More 2 More 3 More 4 More 5 More

和脚本代码:

 $("#mode").on('change', function () { var rows = parseInt(this.value); console.log(rows); var lastRow; for (var i = 0; i < rows; i++) { lastRow = $('#engagements tr').last().clone(); $('#engagements tr').last().after(lastRow); } }); 

JS小提琴: http : //jsfiddle.net/jW6eL/3/

试试这个

http://jsfiddle.net/jW6eL/7/

 $("#mode").on('change', function () { var rows = parseInt(this.value); console.log(rows); var lastRow; for (var i = 0; i < rows; i++) { lastRow = $('#engagements tr').last().html(); $('#engagements tr:last').after(''+lastRow+''); $('#engagements tr:last').find('select').each(function(){ var this_select=$(this); this_select.val(this_select.closest('tr').prev().find('td:eq('+this_select.closest('td').index()+')').find('select').val()) }) } }); 

出于性能原因,jquery在进行元素克隆时不会保留选择。 但是,您可以尝试使用

  .clone(true) 

这将通过下拉列表复制所有evens和数据。 这样您就可以使用事件并在下拉列表中选择最后一个选项。