尝试使用JQuery将值从一行复制到另一行

时间:2012-03-14 08:42:03

标签: jquery

有人可以帮我解决这个问题,因为我现在正把头撞到墙上:(

我有一个大约有13列的表连接到这是一个Jquery上下文菜单,用户可以右键单击该表并选择复制,如果他们这样做,那么我需要将所选行的值复制到其他行,到目前为止我有一个JQuery函数,它在一定程度上工作,但由于某种原因,当我运行它时,它向表中添加一个新行不是我想要的,我想要做的就是从中复制值行和填充其他行而不添加新行是可能的吗?

继承我的JQuery

$(function() {
    $('#grdvHandSets>tbody>tr').contextMenu([
        {
        'Copy Down': function(menuItem, menu) {
            var tr = $(this),
                tr2 = $(this).clone(true, true).insertAfter(this)
                tr.find(':input:not(.phonenumber)').each(function() {
                    //console.log(this.id)
                    tr2.find("[id='" + this.id + "']").val($(this).val())
                })
                tr2.find('.phonenumber').val('')
                $('#grdvHandSets .gvItem').each(function(i) {
                    $(this).text(i + 1)
                })
        }}
    ], {
        theme: 'vista'
    })
})​

有人可以帮助我.... :(

2 个答案:

答案 0 :(得分:0)

对于初学者来说,使用:

tr2 = $(this).clone(true, true).insertAfter(this)

它将生成您的新条目。您应该更改行的text / html。 Insert实际上附加了新元素,在这种情况下,它是所选行的引用。

答案 1 :(得分:0)

您自己编写此代码吗?它正在形成一个新的行,因为这就是你要告诉它的事情:

tr2 = $(this).clone(true, true).insertAfter(this)

要获取当前行之后的所有行,您可以使用nextAll函数。

tr2 = tr.nextAll();

您可能还想将tr2重命名为更符合逻辑的内容,例如nextRows