2013-04-22 39 views
0

我正在將選定的對象從一個表克隆到另一個表。直到現在,我正在獲得所選td的id以進行克隆。以下是我正在嘗試的代碼。克隆並刪除選定的行到另一個表

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.0/jquery.min.js"></script> 
<style type="text/css"> 
    .row-highlight 
    { 
     background-color: Yellow; 
    } 
</style> 
<script type="text/javascript"> 
    $(function() { 
     var message = $('#message'); 
     var tr = $('#tbl,#tbl2').find('tr'); 
     tr.bind('click', function(event) { 
      var values = ''; 
      tr.removeClass('row-highlight'); 
      var tds = $(this).addClass('row-highlight').find('td'); 


      $.each(tds, function(index, item) { 
       values = item.id; 
      }); 
      message.html(values); 
     }); 
    }); 
</script> 
</head> 
<body> 
<form> 
<table> 
<tr> 
    <td> 
    <table id="tbl" style="border: solid 1px black"> 
    <tr> 
     <td id="a"> 
      1 
     </td>   
    </tr> 
    <tr> 
     <td id="b"> 
      2 
     </td>    
    </tr> 
    <tr> 
     <td id="c"> 
      3 
     </td>    
    </tr> 
    </table> 
</td> 
    <td> 
    <table> 
    <tr> 
<td><input type="button"name="button one" value=">>" onclick=""</td> 
    </tr><tr> 
    <td><input type="button" name="button two" value="<<" onclick=""</td> 
    </tr> 
    </table> 
    </td> 
    <td> 
    <table id="tbl2" style="border: solid 1px black"> 
    <tr> 
     <td> 
     </td>    
    </tr> 
    </table> 
    </td> 
</tr> 
</table>    
<br /> 
<div id="message"> 
</div> 
</form> 
</body> 
</html> 

如何克隆和從表「TBL」到「tbl2的」點擊按鈕「按鈕,一個」和反之亦然上點擊按鈕「兩個按鈕」功能刪除所選的項目。 感謝advance.////

+0

如果我正確的'prepend()','append()','appendTo()'會爲你做這件事。 – 2013-04-22 10:18:13

回答

5

只要使用,前置(),追加()方法。這些方法將很好地滿足您的需求。

您可以使用它的一些方式是這樣的:

var row = $(this).closest('tr').html(); 
$('#otherTable tbody').append('<tr>'+row+'</tr>'); 
+0

這些'標記'是'方法',但不管語法如何,都是+1。 – 2013-04-22 13:04:05

1

前置()和append()函數應該做的伎倆。另一件我曾經嘗試過使用類似場景的js的方法是使用document.getElementById(tableIDA)首先獲取有關表,然後使用tableA.insertRow(rowCountA)[其中rowCountA是表A的行數],然後是tableA.insertCell()函數,最後是cell.appendChild()。它似乎很長,但它使用起來非常簡單和程序化。可能這會幫助你的目的。

1

無需明確.clone(),萬一是有史以來在您的頭腦來了。

可避免HTML重建的元素(如您可能,如果你不使用事件代表團丟失任何事件處理程序),通過直接使用.append().appendTo()prepend()prependTo()

僞代碼:

$A.appendTo($B); 
// or 
$B.append($A); 

實施例:

$('tr.highlighted').appendTo($('#otherTable tbody')); 

反向也可以工作:

$('#otherTable tbody').append($('tr.highlighted'));