重置表单中的一些输入

时间:2011-11-08 16:14:58

标签: jquery

如何在不触及“隐藏”输入和“提交”的情况下重置表单,我尝试了以下但不起作用,

$("#myForm textarea input[type!='submit'] input[type!='hidden']").val('');

我怎样才能使用Jquery?

2 个答案:

答案 0 :(得分:2)

$("#myForm :input:not(:hidden):not(:submit)").val('');

请注意,:hidden也会选择隐藏元素 - 如果您只想要type="hidden"表单元素,但不是隐藏的type="text"元素,请改用[type="hidden"]

或许你只想做$('#myForm')[0].reset();

答案 1 :(得分:2)

最简单的方法是选择所有输入字段,然后filter输出您不想要的内容并重置您剩下的字段。

$("#myForm :input").filter(function() { 
    return !($(this).is(':submit') || $(this).attr('type') == 'hidden');
}).val('');

http://jsfiddle.net/infernalbadger/rpRqX/

不使用过滤器的替代选择:

$("#myForm :input").not(':submit').not('[type="hidden"]').val('');

http://jsfiddle.net/infernalbadger/rpRqX/1/