Выбор jquery clone не поддерживает значение
Я пытаюсь клонировать feildset, затем отправляю содержимое входов и выбирает с помощью сериализации. Он работает правильно, но выбор не сохраняет его значения. Я попробовал несколько методов, которые я нашел, но ничего не работает. Вот как я клонирую и устанавливаю текущие данные.
Как я могу сохранить значение select при клонировании?
$('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();
Ответы
Ответ 1
Элемент 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());
Ответ 2
Вы должны иметь возможность установить значение нового элемента select
в значение старого:
$('#form-to-submit select').val($('.fieldsetwrapper select').val());
Ответ 3
В моем случае я использовал
$('<form></form>').html($('.myDiv').clone())
и исправил проблему, добавив еще одну форму в разметку
$('.myForm').serialize()