2010-07-22 36 views
3

我想要得到一個使用javascript或jquery的div中包含的所有單選按鈕的列表。如何獲得包含在一個div中的單選按鈕的ID

例如

<div id="container"> 
    <input type="radio" id="1"> 
    <input type="radio" id="2"> 
    <input type="radio" id="3"> 
    .... //total no of radio buttons are not known 
</div> 

我想含有包含在DIV所有單選按鈕的ID的數組。

arr[0]="1" 
arr[1]="2" 
arr[2]="3" 
... 
.. 
+2

http://api.jquery.com/map/中的第一個示例完成了您所要求的操作,您只需要適當地更改選擇器即可。 – 2010-07-22 06:28:38

回答

6
var array = new Array(); 
$('#container input:radio').each(function (index) { 
    array[index] = $(this).attr('id'); 
}); 
+0

這一個不會有幾個原因工作。 1)你沒有指定輸入; 2)'$(this)'是一個數組。以你的方式工作,你需要使用'$(this)[0] .id' – 2010-07-22 06:29:34

+0

如果收音機包含在#container中的嵌套div中,這個工作嗎? – 2010-07-22 06:34:15

+0

@Ionut,我在你的評論之前修改了代碼;) – 2010-07-22 06:41:44

6
var ids = $('#container :radio').map(function() { return this.id; }).get(); 
0

這可能工作:

var arr= []; 
$('#container :radio').each(function(){ 
arr.push({ "the_id": this.id, "val":this.value }) 
}); 
//right now you have a json like array with ID and value and you can access it by `arr[0].the_id` and `arr[0].val` 

只能推的ID(沒有價值,所以沒有花括號需要),您可以訪問元素,如arr[0]

+0

另外考慮[jQuery.map](http://api.jquery.com/map/) – 2010-07-22 06:27:20

相關問題