如何获取元素的所有ID和表单的值?

时间:2014-02-14 16:12:09

标签: jquery

我有以下表格

<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

1 个答案:

答案 0 :(得分:2)

由于您使用了输入element selector,因此不会选择selecttextarea元素。您可以尝试: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