我试图克隆一个feildset然后提交输入的内容并选择使用serialize.它工作正常,但选择不保持其价值.我已经尝试了几种我发现的方法,但似乎没有任何工作.这是我如何克隆和设置当前数据.
克隆时如何保持选择的价值?
$('body').append('<form id="form-to-submit" style="visibility:hidden;"></form>'); var fieldsetName = $this.parents('.fieldsetwrapper'); $('#form-to-submit').html($(fieldsetName).clone()); var data = $('#form-to-submit').serialize();
解决方法
选项元素使用所选的JavaScript属性维护其当前选择性(不要与所选属性混淆,这与所选属性相对应,默认选择).
由于jQuery的克隆不克隆当前的选择(http://bugs.jquery.com/ticket/1294),您必须手动执行:
$('#form-to-submit').html($(fieldsetName).clone()); $('#form-to-submit select').val($('.fieldsetwrapper select').val());