2012-04-29 149 views
0

我有一个简单的HTML表格。我希望有一个按钮,允许用户将现有单元格的值复制到另一个单元格,例如点击按钮将值从1行/列3复制到第3行/列3将表格单元格值复制到另一个单元格 - jQuery

这里有一个简单的HTML表格:

http://jsfiddle.net/XF9BD/1/ 当用户点击“从最近的活动副本”的链接,它会将单元格3行中的值复制到同一列中。

+1

克隆值从选入新的细胞? – Philip 2012-04-29 05:10:52

回答

1

如果我理解正确,那么认为最简单的方法是将所选的<tr>克隆插入表中,然后修改克隆。

HTML:

<table id="scores" width="358" border="1"> 
    <tbody id="recentActivities"> 
    <tr> 
    <td width="104">Recent Activity</td> 
    <td width="69">Result</td> 
    <td width="163"></td> 
    </tr> 
    <tr> 
    <td class="title">Activity 1</td> 
    <td class="result">100</td> 
    <td class="action_status"><button class="copy">Copy</button></td> 
    </tr> 
    <tr> 
    <td class="title">Activity 2</td> 
    <td class="result">300</td> 
    <td class="action_status"><button class="copy">Copy</button></td> 
    </tr> 
    <tr> 
    <td>&nbsp;</td> 
    <td>&nbsp;</td> 
    <td>&nbsp;</td> 
    </tr> 
    </tbody> 
    <tbody id="copiedActivities"></tbody> 
</table> 

的JavaScript:

var $copiedActivities = $("#copiedActivities"); 
$("button.copy").on('click', function() { 
    var clone = $(this).closest("tr").clone(true).appendTo($copiedActivities); 
    var titleCell = clone.find(".title"); 
    titleCell.text('Projection' + titleCell.text()); 
    clone.find(".action_status").empty().text('Copy of Recent Activity'); 
}); 

update of your fiddle

编辑:一些想法 或者怎么样this

+0

感谢您的反馈。我需要随时显示目标行,因为用户可以直接输入值,而不必按按钮将其从前一行复制,因此我无法使用克隆方法。我终于在目标单元格中​​使用它: user982124 2012-04-29 21:58:44

+0

好吧,我现在明白了,我已经看到了答案,但最好在JavaScript中附加事件处理程序,而不是在HTML中。另外,稍微考虑一下,你应该能够开发一个更优雅的“算法”解决方案 - 即。一个处理所有“复制...”按钮的单个处理程序,它将从3行更高的位置获取值,而不需要为单元格提供单独的ID。 – 2012-04-30 00:42:21

0

我最终使用在目标单元格下面,我需要这是可见的所有时间,并允许用户手动输入值,如果需要的话:

<td class="action"><button class="copy" onclick="$('#projectmodvalue').val($('#totalmod').val())" value="Set Value">Copy from Recent Activity</button></td> 
相关问题