У меня есть шаблон формы, который мне нужно скопировать динамически, чтобы связать его с новыми экземплярами всплывающего окна. Я использую метод jQuery clone () для этого. Всякий раз, когда я пытаюсь создать новый экземпляр шаблона, параметры ранее созданных форм стираются.
Пример кода:
HTML:
<div id="template" class="modifyDiv">
<div class="options">
<label><input type="radio" class="foo" checked="checked" value="bar" name="displayMode">Foo</label>
<label><input type="radio" class="blah" value="biz" name="displayMode">Blah</label>
</div>
</div>
JavaScript
popup.create = function() {
// create popup stuff
createViewSettings(popup);
}
createTemplate = function(popup) {
...
var modifyDiv = $("#template").clone(true).removeAttr("id");
modifyDiv.appendTo($(document.body));
modifyDiv.data("popup",popup);
popup.data("settings",modifyDiv);
... }
Что происходит, так это: когда я создаю новое всплывающее окно, настройки идеальны. Но когда я создаю второй, значение исходного флажка «displayMode» становится неопределенным.
Я прошел и строка, которая, кажется, вызывает проблему:
var clone = elem.cloneNode(true)
в определении клона в jquery. Я использую v1.5.1
РЕДАКТИРОВАТЬ: эта проблема возникает в Chrome 14.0.835.202, но не в IE8
РЕДАКТИРОВАТЬ: эта проблема возникает, когда входы переключатели, а не флажки.