.clone之后选择不工作

我正在克隆一个HTML块,然后将它附加到div。

var part = $('#parts_tpl').clone(); $('#parts_tpl').after(part); 

HTML包含一个表单,由于某种原因,选择框不会更新新克隆的HTML中的值。 如果我尝试更新原始选择框值,它会起作用。 我只是不使用新克隆的表单。

我确保新创建的选择框具有唯一的ID,名称等。这就是我这样做的方式:

 // increment ids and names for select tags $('#' + content.attr('id')).find('select').each(function() { var id = $(this).attr('id') + partID; var name = $(this).attr('name') + partID; if ($(this).attr('id')) { $(this).attr('id', id); } if ($(this).attr('name')) { $(this).attr('name', name); } }); 

这就是我的HTML看起来像:

 
Remove Part
<!-- -->
<!-- -->
<!-- -->
Frame Frame Sash Single Wall Accessory Hollow Accessory
<!-- -->
Plant 1 Plant 1 Plant 2 Plant 13 Plant 14 Bristol To Be Determined
Metal Rack Metal Rack Wood Rack Paperboard Polybag Other Customer Supplied Rack
<!-- -->

有谁知道最近发生了什么?

我尝试过的事情:

  • 克隆不是克隆选择值
  • https://github.com/spencertipping/jquery.fix.select-clone/blob/master/jquery.fix.select-clone.js

事实certificate好了。 我使用的是一个名为Uniform的插件。 制服不能很好地克隆选择。 这是我必须要解决的问题。

 // fix uniform to update properly on cloned elements $('select').change(function() { $.uniform.update('#' + $(this).attr('id')); }); 

参照(一个或多个):

  • 使用jQuery Uniform.js更改选择值
  • jquery克隆一块元素。 选择要素的元素

我也有统一和克隆的问题,我的是一个复选框,克隆后表现得很奇怪,而我所做的就是使用统一的“恢复”,它基本上从所有元素中删除了均匀,然后克隆了我所拥有的克隆,并重新应用制服。 我想我可以在单个克隆源元素上使用还原,如果我想要而不是从全部删除(没有检查)。

所以最终看起来像这样:

 $.uniform.restore($( "select, input:checkbox, input:radio, input:file")); // remove uniform effects var clonedItem = $("#originalItem").clone(); // clone and add $("body").append(clonedItem); $( "select, input:checkbox, input:radio, input:file").uniform(); // restore uniform 

希望这有助于某人。