2013-04-20 85 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