如何选择所有表单元素?

6

我通常只是这样做:

   $("#formid input, #formid select, #formid textarea")

但是有没有类似缩写这样的东西呢,比如说…
   $("#formid All-Form-Elements")

?


首先想到的是,虽然它只是一种简写(并不是真正的答案),但是$("#formid").find("input, select, textarea")。 - Corbin
3个回答

14

你似乎正在寻找 :input 选择器:

var formElements = $("#formid :input");
请注意,它还匹配<button>元素。

这会获取所有的元素,包括选择框、文本域、复选框和单选框吗? - Control Freak
是的,它匹配所有类型的<input>元素,以及<select><textarea><button>元素。 - Frédéric Hamidi
非常好,谢谢。你知道如何在不使用attr('checked','checked')的情况下设置复选框为选中吗? - Control Freak
自 jQuery 1.6 以来,我个人一直在使用 prop("checked", true) - Frédéric Hamidi
如果你处于许多情况之一,其中jQuery将this设置为DOM元素,那么你可以简单地说this.checked=true; - nnnnnn

7

使用 :input 选择器,可以选中所有的 <input><textarea><select><button> 元素。

$("#formid :input")

0

使用此代码可获取所有表单元素,包括:输入框、文本区域和下拉框

var paramString ='';
$('#formID').find('input, textarea, select').each(function(){
   paramString += '&' + $(this).attr('name') + '=' + ($(this).val();
});

希望这能为某人节省时间 :)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接