我想在不清除文本框form1
的情况下清除表单textbox1
。但是以下不起作用:
$('#form1').not("input[type=text]#textbox1").trigger('reset');
我可以为除.html('')
之外的每个字段textbox1
做--atime-preserve
,但我不想这样做,因为表单中会添加更多字段,因此不可用性。
答案 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 );