重置表单,但一个特定字段除外

时间:2016-07-07 16:23:21

标签: jquery

我想在不清除文本框form1的情况下清除表单textbox1。但是以下不起作用:

$('#form1').not("input[type=text]#textbox1").trigger('reset');

我可以为除.html('')之外的每个字段textbox1--atime-preserve,但我不想这样做,因为表单中会添加更多字段,因此不可用性。

2 个答案:

答案 0 :(得分:5)

不幸的是reset事件发生在form上并影响其中的所有表单相关元素。要实现您的需求,您可以选择所有必需的表单元素并手动设置其值,例如:

$('#form1').find('input, select, textarea').not("#textbox1").val('');

上面的元素选择器应该足够通用,以满足动态添加到表单的其他字段

答案 1 :(得分:0)

您可以先将#textbox1中的值保存在变量中,然后正常重置表单,然后将保存的值分配给#textbox1。这样可以省去选择每种输入类型并单独重置的麻烦。

var value1 = $("input#textbox1").val();
$('#form1').trigger('reset');
$("input#textbox1").val( value1 );