0

我正在构建一个具有 D&D 编辑器并处理布局(基于引导程序)和多个小部件的应用程序。

每个小部件都有各种参数,在单击相应的小部件编辑链接后,这些参数可通过模态进行编辑。

我传入 html 为这些参数生成表单元素,base64 通过数据属性编码,如下所示:

<a href="#" class="edit-widget" data-tabgeneral="<?php echo $tab_general; ?>" data-tabstyle="<?php echo $tab_style; ?>">Edit</a>

我抓住那个字符串,对其进行解码并将其附加到吐出表单的模态框中。这一切都很好。作为旁注,在我只是在每个小部件容器内的隐藏 div 中吐出表单元素之前,然后从那里抓取它。结果是 dom 中有 75K 元素,只有很少的小部件,任何点击事件都有 3 秒的延迟,再加上一个通常缓慢的界面(正如你可以想象的那样)。

单击小部件的保存按钮后,我需要获取附加到带有更新值的模式的表单元素的 html,对其进行编码并使用新字符串更新小部件数据属性。

该部分工作正常,但单击保存按钮后不能正常工作,它会克隆模态表单元素。包含最初附加的表单标记的对象具有每个表单元素的正确更新值。

例如:

    var tab_general = $('#modal-widget-CSS-Params-tab_general');
    var test_update_value = tab_general.find('input[name="widget-videofakeout[1371898762][content]"]').val();
    console.log(test_update_value);

结果是正确的更新值,所以我知道它里面有我想要的正确数据。

但是,如果我通过克隆这个对象创建一个新的 dom 元素并尝试使用 jQuery 的 html 方法来获取所述克隆的新的、更新的 html 字符串,如下所示:

console.log($('<div>').append(tab_general.clone(true, true)).remove().html());

我得到的只是带有原始输入值的原始附加 html。

所以我的问题是,有没有办法用更新的输入值获取克隆对象的 html 字符串?还是我对这一切都错了?

这是我正在尝试做的一个非常基本的示例,但根据下面的第一条评论,我似乎完全脱离了基础:http: //jsfiddle.net/6LyMK/2/

4

0 回答 0