使用jQuery在一行中重置多个(但不是全部)表单字段的值

crm*_*cco 4 html javascript forms jquery jquery-1.7

是否可以使用jQuery在一行或一次命中中重置多个表单域.注意:我不想重置所有表单字段,只重置指定的白名单(如下所示):

// reset some form fields                       
$('#address11').val('');
$('#address21').val('');
$('#town1').val('');
$('#county1').val('');
$('#postcode1').val('');
Run Code Online (Sandbox Code Playgroud)

epa*_*llo 10

最好使用一个类,这样就不必维护很长的id列表.

HTML

<input type="text" class="resetThis" id="address11" />
<input type="text" class="resetThis" id="address21" />
Run Code Online (Sandbox Code Playgroud)

JavaScript的

$(".resetThis").val("");
Run Code Online (Sandbox Code Playgroud)


Cec*_*chi 7

jQuery(和CSS)选择器字符串可以包含多个选择器,使用逗号作为子选择器的分隔符:

$('#address11, #address21, #town1, #county1, #postcode1').val('');
Run Code Online (Sandbox Code Playgroud)

我认为这比使用类更快(ID查找应该在基本上恒定的时间内执行,而类查找将不得不访问每个DOM节点),但如果你想要的话可​​能不太可维护更改哪些元素重置.

  • `.class`是[更快](http://jsperf.com/http-stackoverflow-com-questions-13070819-reset-value-o) :) (2认同)

Emi*_*ary 6

如果你有很多字段,我会用类来标记你想要忽略的字段以最小化代码:

$('#myForm input:not(.ignore)').val('');
Run Code Online (Sandbox Code Playgroud)