Jquery 将表的元素克隆到其他

Jquery 将表的元素克隆到其他,jquery,Jquery,我有两个表,我希望当用户单击clone时,两个dropdownlists被添加到一行中(每个列中)。我尝试了很多方法,但我能成功,请帮忙 我的js: function initialize(){ $("#butonID").click(function (){ var aux = '<tr><td id="col-1"></td><td id="col-2"></td><td id="col-3"></t

我有两个表,我希望当用户单击clone时,两个dropdownlists被添加到一行中(每个列中)。我尝试了很多方法,但我能成功,请帮忙

我的js:

function initialize(){

$("#butonID").click(function (){
     var aux =  '<tr><td id="col-1"></td><td id="col-2"></td><td id="col-3"></td><td="col-4"></td></tr>';
    $('#tblSalida').append(
        $(aux).find('#col-1').append($('#prueba').clone().attr('id', 'nuevo').attr('class', '')).end()
    );
    $('#tblSalida').append(
        $(aux).find('#col-2').append($('#prueba2').clone().attr('id', 'nuevo').attr('class', '')).end()
    );

})
}
函数初始化(){
$(“#butonID”)。单击(函数(){
var aux=“”;
$('tblSalida')。追加(
$(aux).find('#col-1').append($('#prueba').clone().attr('id','nuevo').attr('class','')).end()
);
$('tblSalida')。追加(
$(aux).find('#col-2').append($('#prueba2').clone().attr('id','nuevo').attr('class','')).end()
);
})
}

更新
修改链接

问题在于,您将aux行附加到#tblSalida表两次,即两行

稍微修改一下你的代码

似乎有效

$("#butonID").click(function() {
    var aux = '<tr><td id="col-1"></td><td id="col-2"></td><td id="col-3"></td><td="col-4"></td></tr>';

    //append row 
    $('#tblSalida').append($(aux));


    // add clones to the row
    $('#col-1').append($('#prueba').clone().attr('id', 'nuevo').attr('class', '')).end();
    $('#col-2').append($('#prueba2').clone().attr('id', 'nuevo').attr('class', '')).end();
});
$(“#butonID”)。单击(函数(){
var aux=“”;
//追加行
$('#tblSalida')。附加($(aux));
//将克隆添加到行中
$('#col-1')。追加($('#prueba').clone().attr('id','nuevo').attr('class','')。end();
$('#col-2').append($('#prueba2').clone().attr('id','nuevo').attr('class','')).end();
});
编辑:

是-这只工作一次。你没有在你的问题中说明你想要多次

要使其多次可用,您不能像使用ID那样使用它-您应该使用类,因为ID是唯一的

更新版本

$(“#butonID”)。单击(函数(){
var aux=“”;
//追加行
$('#tblSalida')。附加($(aux));
//将克隆添加到最后一行
$('tblSalida tr:last')。查找('.col-1')。追加($('tblSalida tr:last')。克隆().attr('id','nuevo')。attr('class','')。结束();
$('tblSalida tr:last')。查找('.col-2')。追加($('tblSalida tr:last')。克隆().attr('id','nuevo')。attr('class','')。结束();
});
注意:

我还没有仔细看过你的其他代码,但看起来你在复制两个不同的id#prueba和#prueba2,并将它们克隆到同一个新id—“nuevo”

此外,我不是jquery专家,也不知道最后一个选择器如何在不同的浏览器中工作,但这至少是一个开始

但我的建议是,你应该更仔细地考虑id的唯一性,你可以这样做

$(document).ready(initialize);

  function initialize(){

 $("#butonID").click(function (){

var aux =  '<tr><td id="col-1"></td><td id="col-2"></td><td id="col-3"></td><td="col-4"></td></tr>';

    $(aux)
    .find('#col-1').append($('#prueba')
    .clone().attr('id', 'nuevo').attr('class', '')).end()
    .find('#col-2').append($('#prueba2')
    .clone().attr('id', 'nuevo').attr('class', '')).end()
    .appendTo("#tblSalida");     
                })
            }
$(文档).ready(初始化);
函数初始化(){
$(“#butonID”)。单击(函数(){
var aux=“”;
$(辅助)
.find(“#col-1”).append($(“#prueba”)
.clone().attr('id','nuevo').attr('class','').end()
.find(“#col-2”).append($(“#prueba2”)
.clone().attr('id','nuevo').attr('class','').end()
.附于(“#tblSalida”);
})
}

下面是演示

我终于解决了我的问题:

$(文档).ready(初始化);
函数初始化(){
$(“#butonID”)。单击(函数(){
$(“#tblSalida”)。附加(“”);
$(“#tblSalida tr:last”).append($('').append($(“#prueba”).clone());
$(“#tblSalida tr:last”).append($('').append($(“#prueba2”).clone());
});
}

伊丽格·恩埃斯蒂洛
埃斯蒂洛1号
埃斯蒂洛2号
埃斯蒂洛3号
伊丽格·恩埃斯蒂洛
埃斯蒂洛1号
埃斯蒂洛2号
埃斯蒂洛3号
萨利达

不确定,但无法提供以数字开头的ID。。。如果有人纠正我wrong@3nigma:表示您不能拥有以数字开头的ID;-)@我用别人的id再次修改了链接,这不是由数字开始的,但这不是问题所在
$(document).ready(initialize);

  function initialize(){

 $("#butonID").click(function (){

var aux =  '<tr><td id="col-1"></td><td id="col-2"></td><td id="col-3"></td><td="col-4"></td></tr>';

    $(aux)
    .find('#col-1').append($('#prueba')
    .clone().attr('id', 'nuevo').attr('class', '')).end()
    .find('#col-2').append($('#prueba2')
    .clone().attr('id', 'nuevo').attr('class', '')).end()
    .appendTo("#tblSalida");     
                })
            }