如何使用绑定数据的下拉列表进行克隆?

我有一个div ,其中包含一个包含数据的下拉列表和一个input类型文本datepicker和一个文本框。 我想用克隆的新id ,输入类型日期选择器,文本框和下拉列表以及绑定数据到克隆下拉列表来克隆div 。 我怎样才能做到这一点?

我使用下面的代码克隆它改变div的id而不是它的子元素,克隆的输入类型文本日期选择器被禁用。

 var toAddCloneCount = 0; function AddDestination() { var clone = $("#toAdd").clone(true); clone.show(); clone.attr('id', 'toAdd' + toAddCloneCount++).insertAfter("#toAdd"); clone.find("#days").attr('id', 'days' + toAddCloneCount); clone.appendTo("#destinations"); } 
 
To Days to Stay

Date:

+Add

这是一个克隆机制,克隆事件以及http://jsfiddle.net/dg30gj27/ 。

注意,您在示例中使用的是asp标记,您应该在示例中使用HTML标记: http : //code.runnable.com/UjB_wxmQpvw8AAAw/asp-net-how-to-use-dropdownlist单击运行并检查结果是Html。

此处介绍的此方法克隆了所有客户端事件,您可能遇到代码隐藏的事件处理问题,您需要检查事件源以便在服务器上执行正确的操作。

 // Original element with attached data var $elem = $( "#destinations" ).data( "arr", [ 1 ] ), //withDataAndEvents (default: false) Type: Boolean" cloned = $elem.clone( true ) // Deep copy to prevent data sharing .data( "arr", $.extend( [], $elem.data( "arr" ) ) ); cloned.attr("id", cloned.attr("id") + "_cloned"); cloned.find( "*" ).each(function(){ if ($(this).attr("id") != undefined && $(this).attr("id").length > 0) { $(this).attr("id", $(this).attr("id") + "_cloned"); } }); console.log(cloned); cloned.prependTo(".wrapper");