Javascript 使用jQuery克隆具有动态添加值的表单元素

Javascript 使用jQuery克隆具有动态添加值的表单元素,javascript,jquery,Javascript,Jquery,我有一个类似的表格: <fieldset id="user"> <input type="text" id="firstName"> <input type="text" id="lastName"> </fieldset> 除此之外: $("#user").html() 两者都从填充字段之前创建的dom返回原始html。有没有一种方法可以在用JS填充html值后获取这些值?您可以使用内置数据。在执行ajax调用的地方,也将值存储在元素

我有一个类似的表格:

<fieldset id="user">
  <input type="text" id="firstName">
  <input type="text" id="lastName">
</fieldset>
除此之外:

$("#user").html()

两者都从填充字段之前创建的dom返回原始html。有没有一种方法可以在用JS填充html值后获取这些值?

您可以使用内置数据。在执行ajax调用的地方,也将值存储在元素的数据中:

$.data( $("#firstname"), "value", value );
$.data( $("#lastname"), "value", value );
在要恢复更改的位置:

$("#firstname").val( $.data($("#firstname"), "value") );
$("#lastname").val( $.data($("#lastname"), "value") );
当您还原时,您也可以遍历x个元素

$("#user input").each( function() {
   $(this).val( $.data($(this), "value") );
});

val(res.firstname)之前不应该有
val(res.last)?类似于:
$('#用户输入#firstname').val(res.firstname)$(“#用户输入#姓氏”).val(res.last)此问题可能重复:
$("#user input").each( function() {
   $(this).val( $.data($(this), "value") );
});
var prev = $('#user').html(); // store previous state

$.ajax({
  url: '',
  ....
  ....
  success: function(res) {
    //assume that your res is like:
    /**
    res = {
        firstname: 'FIRSTNAME', 
        lastname : 'LASTNAME'
    }
    */
    $('#user input#firstname').val(res.firstname);
    $('#user input#lastname').val(res.lastname);
  } 
})

//For revert:

$('#user').empty().html(prev);