1

我正在尝试将一个下拉列表的值(选项)复制到另一个。每次当用户单击添加按钮时,我都会添加新的表格行,其中包含几个文本框和一个作为原始副本的保管箱。贝娄是我的代码:

$(function(){
$("#addBtn").click(function(){
    var rows = $("#nofRowHidden").val();//get the current no of row
    rows++;
    $("#crsTable").append(
    '<tr>'+
    '<td><input type="text" name="assesmntNameTxtBx'+rows+'"/></td>'+
    '<td><input type="text" name="markRcvdTxtBx'+rows+'"/></td>'+
    '<td><input type="text" name="totalTxtBox'+rows+'"/></td>'+
    '<td>'+
    '<select name="drpDwnCrs'+rows+'">'+
    '</select>'+
    '</td>'+
    '</tr>'
    );
    //#drpDwnCrs1 was original drbdwn and populated with data from the database
    $("#drpDwnCrs1 option").clone().appendTo("#drpDwnCrs"+rows);

    $("#nofRowHidden").val(rows);//add current no of row to hidden txt bx
    });
 });

上面的代码正确地生成带有文本框的新行。但是,无法复制下拉列表的值。

感谢你的帮助。

4

3 回答 3

1

可能这(/jsfiddle.net/slash197/a98U8/5/)对您有用。

于 2013-04-08T06:13:00.450 回答
1

您正在使用.appendTo("#drpDwnCrs"+rows),选择#器在哪里id

当您创建 时<select>,您正在使用'<select name="drpDwnCrs'+rows+'">'+. 这表明您设置了它的name属性......而不是id属性。所以这意味着你的appendTo调用的 jQuery 选择器不会找到任何元素并且不会做任何事情。

尝试更改我提到的代码:

.appendTo('select[name="drpDwnCrs' + rows + '"]')
于 2013-04-08T06:19:48.680 回答
1

这将是

    // $("#drpDwnCrs1 option").clone().appendTo("#drpDwnCrs"+rows);  change this to

$("#drpDwnCrs"+rows).html($('#drpDwnCrs1').html());

这会将原始 div 的整个选项复制到新 div。

于 2013-04-08T07:45:04.410 回答