2012-08-06 91 views
1

我有一個選擇選項,可以是任何數字的名稱:prod_search [] 和id:prod_search0,prod_search1,... 2,.3等jQuery:獲取所有元素ID循環所有選定的選項

檢查下面的示例,我有...

<select name="prod_search[]" id="prod_search0"> 
    <option value="o1">Option1</option> 
    <option value="o2">Option2</option> 
</select> 

<select name="prod_search[]" id="prod_search1"> 
    <option value="o1">Option1</option> 
    <option value="o2">Option2</option> 
</select> 

<select name="prod_search[]" id="prod_search2"> 
    <option value="o1">Option1</option> 
    <option value="o2">Option2</option> 
</select> 
使用jQuery

現在,我的名字循環上述所有選擇選項...

$('select[name="prod_search[]"] option:selected').each(function(index) {  
    prod_search = $(this).val(); 
    prod_text = $(this).text(); 

    //here i need ID of current select in the loop 
    //...e.g.: prod_search0 or prod_search1 or ... 
}); 

我試圖與指數,不不顯示實際的ID,但給出了序列號。 如果刪除了一個元素「prod_search1」,則失敗。

需要一種正確的方法來處理。

回答

1

each()塊在option標籤的上下文中運行,所以要得到家長的ID select你只需要去到父:你是遍歷<option>小號

$(this).parent().attr('id'); 
+0

完美..這正是我正在尋找 – TechBuddy 2012-08-06 12:34:12

1

並且您希望<select>元素(它們的父級)的id。所以用$(this).parent().attr("id")來得到它。