我有以下表格
<form id = "form" method = "post" ...>
<select id = "companies" name="companies" multiple="multiple">
<option value = "1"> ...</option>
<option value = "2"> ... </option>
...
</select>
<input id = "count" ...>
....
</form>
我正在尝试获取所有表单的元素ID。我试着在jquery中跟随
var $ids = $("#form input[id]").each(function() {
alert($(this).filter(":input"));
});
alert($ids);
现在我的问题是,如果我没有从选项中选择任何公司,我就无法获得listbox id
。
即使未选择此选项,如何才能获得id
listbox
?
TIA
答案 0 :(得分:2)
由于您使用了输入element selector,因此不会选择select
或textarea
元素。您可以尝试:input-selector(可能无法提供最佳性能)
尝试
var ids = $("#form :input[id]").map(function () {
return this.id
}).get();
alert(ids);
演示:Fiddle
为了获得更好的性能,请尝试
var ids = $("#form").find('input[id], select[id], textarea[id]').map(function () {
return this.id || undefined
}).get();
console.log(ids);
演示:Fiddle