jquery clone select不保留值

我试图克隆一个feildset然后提交输入的内容并选择使用序列化。 它工作正常,但选择不保持其价值。 我已经尝试了几种我找到的方法,但似乎没有任何效果。 以下是我克隆和设置当前数据的方法。

克隆时如何保持select的值?

$('body').append('
'); var fieldsetName = $this.parents('.fieldsetwrapper'); $('#form-to-submit').html($(fieldsetName).clone()); var data = $('#form-to-submit').serialize();

option元素使用selected javascript属性维护其当前选择性(不要与selected属性混淆,后者对应于默认选择性)。

由于jQuery的clone不克隆当前选择性( http://bugs.jquery.com/ticket/1294 ),因此您必须手动执行:

 $('#form-to-submit').html($(fieldsetName).clone()); $('#form-to-submit select').val($('.fieldsetwrapper select').val()); 

您应该能够将新select元素的值设置为旧值的值:

 $('#form-to-submit select').val($('.fieldsetwrapper select').val()); 

就我而言,我正在使用

 $('
').html($('.myDiv').clone())

并通过向标记添加另一个表单来修复该问题

 $('.myForm').serialize()