2014-02-14 70 views
-2

我有以下形式如何获取所有元素的ID和表单的值?

<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,如果我没有从选项中选择任何一家公司。

即使该选项没有被选中,我怎样才能得到idlistbox

TIA

+0

downvote有什么意义?不要只是冷静下来,离开。请留下一些downvote的理由,这将有助于我提出更好的问题。 – Lakhae

回答

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

+0

真棒。谢谢。 – Lakhae

+0

在关闭这个主题之前,我怎样才能获得'value'呢? – Lakhae

+0

@Lakhae你想要的数据结构是 –

相关问题