2010-06-05 41 views
13

如何在數組中的表單中獲取輸入元素的所有id?沿線如何獲取表單內所有輸入的ID?

+3

+1好問題。對那些沮喪的人:當你是新來者時,你是否也受到同樣的熱烈歡迎? – 2010-06-05 17:59:31

+2

爲什麼這個問題是downvoted? – 2010-06-05 17:59:51

+0

降價的一個可能原因是標題太長,問題太短。通常情況下,他們是相同的。 – Guffa 2010-06-05 18:07:56

回答

11

東西...

<script src="../../Scripts/jquery-1.4.2.min.js"></script> 

<script type="text/javascript"> 

    $(document).ready(function() 
    { 
     // Get all the inputs into an array... 
     var $inputs = $('#myForm :input'); 

     // An array of just the ids... 
     var ids = {}; 

     $inputs.each(function (index) 
     { 
      // For debugging purposes... 
      alert(index + ': ' + $(this).attr('id')); 

      ids[$(this).attr('name')] = $(this).attr('id'); 
     }); 
    }); 


</script> 
+1

謝謝.......非常多 – James 2010-06-06 06:19:42

14
$ids = $('#myform input[id]').map(function() { 
    return this.id; 
}).get(); 
+5

+1的數組 - '圖()'是要走的路,但如果有'input'元素沒有ID(可能是Submit),那麼最終會在數組中有一個空條目。您可能希望將選擇器更改爲:'$('#test input [id]')',或者至少提供如下測試:'if(this.id)return this.id;' – user113716 2010-06-05 18:41:07

+0

好的建議,帕特里克 - 添加到答案中。 – Amber 2010-06-05 20:28:28

+0

謝謝.......非常 – James 2010-06-06 06:14:22

3

您可以用更精確的選擇縮小搜索範圍:表單輸入屬性選擇用於具有ID

$(document).ready(function() { 
    $('form input[id]').each(function() { 
     formId.push(J(this).attr('id')); 
}); 
}); 
的那些
+0

謝謝.......非常 – James 2010-06-06 06:13:49