如何克隆输入字段对象,并在jQuery中同时引用原始字段和克隆字段?

如何克隆输入字段对象,并在jQuery中同时引用原始字段和克隆字段?,jquery,Jquery,我有这些输入字段,当点击“编辑”按钮时,我正在使用jQuery克隆这些字段,这样我可以更好地操纵编辑显示,但我需要用户输入引用到原始字段,以便在完成编辑时,原始输入字段将包含他们输入的值 请考虑这个简单的HTML:< /P> <div class="wrapper"> <div class="settings" style="display:none;"> <label>Title</label><input t

我有这些输入字段,当点击“编辑”按钮时,我正在使用jQuery克隆这些字段,这样我可以更好地操纵编辑显示,但我需要用户输入引用到原始字段,以便在完成编辑时,原始输入字段将包含他们输入的值

请考虑这个简单的HTML:< /P>
<div class="wrapper">
     <div class="settings" style="display:none;">
          <label>Title</label><input type="text" name="title" value="" />
          <label>Text</label><input type="text" name="text" value="" />
     </div>
     <a href="#" class="edit">Edit Fields</a>
</div>

标题
正文
这是我的初始表单,设置在页面加载时隐藏。只有当用户单击“编辑字段”按钮时,设置才会显示,但我希望它显示在模式灯箱中,这就是我克隆它们以进行显示操作的原因

$('.edit').click(function() {
     var cloned = $('.wrapper .settings').clone(true, true),
         popup = $('<div class="popup"></div>');

     popup.append(cloned);
     $('body').append(popup);
});
$('.edit')。单击(函数(){
var clone=$('.wrapper.settings').clone(true,true),
弹出窗口=$('');
popup.append(克隆);
$('body').append(弹出窗口);
});
好的,我已经用设置的正确信息创建了模式弹出窗口,但我不确定用户输入的值将如何填充到原始字段中。这就是为什么我问jQuery克隆函数是否可以执行引用类型复制

还是有更好的方法

$('.edit').on('click', function(e) {
    e.preventDefault();
    var elems  = $('.wrapper .settings'),
        cloned = elems.clone();

    cloned.find('input[type="text"]').on('keyup', function() {
        elems.find('[name="'+this.name+'"]').val( this.value );
    });

    $('.popup').append(cloned.show());
});

为什么不在blur original field.val=this.val上使用?但如何将该值映射到原始值?所有字段都是动态添加的。uum。给他们两个上课。相同,且不与任何其他元素共享。然后,您就知道该类的第一个元素是原始元素,第二个是副本,可以是getElementsByClass('myClass')(JS)或$('.myClass')(jQuery)。或者我可能误解了您的问题。
$('element').clone(true)
保留事件处理程序?好的,您可以使用扩展选择器,如
$('wrapper>settings>label+input[name=“title”]+label+input[name=“text”]')。val()
我看到您在小提琴的设置中有show()。但是如果它被隐藏了,它还能用吗?嘿,再次感谢你的回答…我刚刚意识到我实际上不需要使用克隆,而是可以使用appendto()并在编辑完成后将其放回去…我太笨了。。。