使用JQuery恢复Html,除了一些元素

时间:2016-08-08 06:23:57

标签: javascript jquery

在Ajax请求之后,我想将表单元素重置为原始值,除了三个选择输入,因为它们的值将被频繁使用。

我在“文件就绪”之外声明了这个变量:

var estado_inicial_cuerpo;

我在“文档就绪”功能中试过这个:

estado_inicial_cuerpo=$("#formulario_venta").clone().children('#id_bodega_idbodega').remove().children('#id_caja_idcaja').remove().end();

在ajax的“成功”部分(或者如果你愿意,在一些激活此代码的按钮中),这一个:

$('#formulario_venta').html(estado_inicial_cuerpo);

但是,在控制台中我可以看到该页面使用该代码加载了两次,而且整个表单都是空白的,所有元素都消失了。

我的表单ID是formulario_ventaid_caja_idcajaid_bodega_idbodega是我要跳过的选择输入的ID。

现在我在“文档就绪”代码中尝试了这个:

estado_inicial_cuerpo=$("#formulario_venta").not("#id_bodega_idbodega, #id_caja_idcaja").html();

现在表格不会消失,但一切都恢复了,包括我在“不”内写的元素。

3 个答案:

答案 0 :(得分:0)

如何尝试

estado_inicial_cuerpo = $("#formulario_venta").html()

你有样品吗?

答案 1 :(得分:0)

首先从元素中清除html 然后重新分配。

<canvas id="myCanvas" width=500 height=500></canvas>

答案 2 :(得分:0)

你试过了吗?

$('#formulario_venta').find('input, textarea, select').not("#id_bodega_idbodega, #id_caja_idcaja").val("");

这样你就说所有输入都有value = ""(空),但.not()内的那个输入

.find('input, textarea')是您的表单可能具有的输入类型