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);