2013-04-20 51 views
1

我有一个空的表中定义复制使用jquery

<table align="center" class="bordered" border="6" id="tableb_copy"></table> 

我有INPUT元素的表定义

<table align="center" class="bordered" border="6" id="tableb"> 
    <tr> 
     <td><input type="text" value="test"></td> 
     <td>test1</td> 
     <td>test1</td> 
    </tr> 
</table> 

我用下面的代码(由用户输入的数据)的HTML表将tableb的内容复制到tableb_copy

$('#tableb_copy').html($('#tableb').html()); 

它复制表结构,但如果用户输入了一些数据放入INPUT单元,这不会被复制。 有没有任何方法复制内容?

感谢

+1

你的HTML似乎无效,再次打开,而不是结束标记的标签。 – 2013-04-20 20:56:20

+0

什么是表格内容?你是在谈论字段被复制而不是值的表单字段?因为在一般意义上你的代码[作品](http://jsfiddle.net/sUu2q/)。 – nnnnnn 2013-04-20 20:58:26

+0

像这样http://jsfiddle.net/nCyFK/? – Sachin 2013-04-20 20:59:47

回答

1

尝试克隆表第一,然后将克隆转移到新的地方。

<div id='here'></div> 

和JS

$('#here').html($('#tableb').clone().attr('id', 'tableb_copy')); 

小提琴http://jsfiddle.net/Spokey/nCyFK/4/

+0

嗨发言,谢谢你...你的代码在小提琴中运行良好,但由于某种原因,不在我的代码中......我会调查! – gordon613 2013-04-20 21:16:56

+0

在之前的小提琴中,表中的一些标签未关闭。尝试再次检查它们。 – Spokey 2013-04-20 21:18:18

+0

请注意,如果您执行类似$('#tableb_copy')。empty()。append($('#tableb')。children()的操作,则不需要引入新的容器元素(div)。 clone());'(http://jsfiddle.net/nCyFK/5/) – nnnnnn 2013-04-20 21:24:07

1

看来工作,除外您<table>不是HTML-有效。 <tr>是一个块标记,例如您以</tr>结尾。

http://jsfiddle.net/Bjmhw/1/

HTML:

<table align="center" class="bordered" border="6" id="tableb_copy"></table> 
<table align="center" class="bordered" border="6" id="tableb"> 
    <tr> 
     <td>1</td> 
     <td>2</td> 
     <td>3</td> 
    </tr> 
</table> 

JS:

$('#tableb_copy').html($('#tableb').html()); 
+0

感谢nnnnn为您的答案...抱歉的混淆 - 我犯了一个错误,简化了我的问题,以至于我忽略了INPUT元素。 – gordon613 2013-04-21 10:30:50