无法将一个下拉选项复制到另一个下拉选项

时间:2013-04-08 06:08:21

标签: javascript jquery html

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

$(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
    });
 });

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

感谢您的帮助。

3 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

您正在使用.appendTo("#drpDwnCrs"+rows),其中#id选择器。

创建<select>时,您使用的是'<select name="drpDwnCrs'+rows+'">'+。这表明您设置了name属性...而不是id属性。这意味着appendTo调用的jQuery选择器将找不到任何元素,也不会执行任何操作。

尝试将我提到的代码更改为:

.appendTo('select[name="drpDwnCrs' + rows + '"]')

答案 2 :(得分:1)

将是

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

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

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