我正在尝试将一个下拉列表的值(选项)复制到另一个下拉列表中。每次当用户单击“添加”按钮时,我将附加新表格行,其中包含多个文本框和一个原始文件副本的保管箱。贝娄是我的代码:
$(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
});
});
上面的代码正确地生成了带有文本框的新行。但是,无法复制下拉列表的值。
感谢您的帮助。
答案 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。