如何在不触及“隐藏”输入和“提交”的情况下重置表单,我尝试了以下但不起作用,
$("#myForm textarea input[type!='submit'] input[type!='hidden']").val('');
我怎样才能使用Jquery?
答案 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('');