2011-12-30 190 views
0

我將內容從一個表格複製到另一個表格,如下所示;使用jquery將圖像從一個表格行復制到另一個表格

var ntr='',//to store html for new table row 
rows=[],//to collect new rows 
$tbl=$("#table_rolecart tbody"),//original table 
l=$("tr", $tbl).length; 
var row; 
for(int i=0;i=0;i<l;){ 
     row=$("tr:eq("+i+")", $tbl); 
    ntr= '<tr><td>' 
    +$("td:nth-child(2)",row).text()+'<input type=hidden name="access_id" value='+accessid+'></td><td>' //add item name 
    +$("td:nth-child(3)",row).text()+'</td><td>' //add description 
    //want to add the third column which is an image with img tag 
    + '</td></tr>' 

我目前做這樣+ row.find這裏我想補充的圖像列(「img.role行動」),但該表顯示了[對象],而不是圖像。如何將圖像複製到新表格中?

內容原始表如下所示

<table class="table sortable" id="table_rolecart"> 
    <tbody> 
       <tr class="odd"> 
        <td><a href="#"><img src="/gra/images/icons/fugue/cross-circle.png" class="move-row" alt="Remove"></a></td> 
        <td>agile_unix_role<input type="hidden" value="1101" name="role_id"></td> 
        <td>this agile unix role</td> 
        <td><img alt="add" src="/gra/images/icons/fugue/plus-circle.png" id="role_action" class="role_action"></td> 
      </tr> 
      <tr class="slider"> 
        <td colspan="4"><div class="sliding">Business Justification:<input type="text" name="ar_businessjust"></div></td> 
      </tr> 
      <tr class="slider"> 
        <td colspan="2"><div class="sliding">Start Date: <input type="text" id="ar_startdate" value=""></div></td> 
        <td colspan="2"><div class="sliding">End Date: <input type="text" id="ar_enddate" value=""></div></td> 
      </tr> 
      <tr style="height:8px"> 
      </tr> 
    </tbody> 
</table> 

我想所有除了最後一排組合成一個單一行的目標表爲單獨列所有列的行。我已經來達到的這一點,剩下的唯一的事情是在第一行的第4列的圖像,我需要複製的最後一列到目標表

+0

你能展示一個原始表格html的例子和另一個例子,顯示你想要它看起來像什麼? – 2011-12-30 01:18:32

+0

我已將我的帖子更新爲適當的解決方案,起初我誤解了您,但這樣做會訣竅。 – Craig 2011-12-30 01:32:17

+0

@pri_dev看起來像你的選擇器對於orignal表不正確。它看起來應該是'#role_action',但是你正在尋找一個名爲'role-action'的'img'標籤。只要你糾正'img'標籤選擇器,我的解決方案就會給你你想要的。你有沒有看到更新? – Craig 2011-12-30 01:50:53

回答

1

您需要使用$("td:nth-child(2)",row).html()代替$("td:nth-child(2)",row).text()

+0

發現這是最容易實現圖像複製..但我不能使用.html()的文本字段,因爲我不想在目標表中的文本框.. – 2011-12-30 02:24:18

-1

您是否嘗試過使用.html()只提取什麼是細胞內?

+0

我這樣做是因爲我需要3行從原始表中複製到新表中的一行,所以我也在ntr + ='​​'+ $(brow).find(「input#ar_businessjust」)。val()+ ''where brow = row.next(「tr」); ,發現它更容易這種方式.. – 2011-12-30 01:24:09

1

編輯

我誤會了...這是你想要什麼:

var html = $('<div>').append($('img.role-action').clone()).remove().html(); 

上述會給你包括元素本身所選擇的圖像元素的HTML。

0

我不知道如果我正確地理解你的問題,但我想你用row.find(「img.role行動」),以獲得IMG對象,可以使用以下方法來打印圖像:

'<img src="'+row.find("img.role-action").attr("src")+'" />' 

您可能需要更多屬性添加到圖像的標籤,這取決於你想要什麼。

+0

我試過了,而不是確定爲什麼,但它給了我這個錯誤:「NetworkError:404 Not Found - http:// localhost:8080/gra/ar_request/undefined」(ar_request是控制器名稱) – 2011-12-30 02:04:06

相關問題