0

我有一個<選擇>字段和的index.html按鈕:如何在我的情況下獲得<select>中所選選項的ID?

<select id="mylist"></select> 

<input type="button" id="btn" value="update"> 

以下的javascript將更新選項<選擇>字段的按鈕被點擊時:

var btn=$('#btn'); 
btn.click(function(){ 
    var optionList = GET_OBJECT_LIST(); //get an array of Object, object has id & name 
    var select = $("#mylist"); 

    select.empty(); 

    for(var i=0; i<optionList.length; i++){ 
     select.append("<option value=" + optionList[i].id+ ">" + optionList[i].name + "</option>"); 
    } 

}); 

事情很好,直到現在。

然後,我想實現的功能,options後更新,當在<select>領域的選項鼠標點擊,我可以選擇的選項中獲取對象ID(即<option>值) 。怎麼做??

+0

'id'不是'value'。他們是不同的屬性。 – Blender 2011-04-21 06:33:54

+0

@Blender,如果你仔細檢查我的帖子,這裏的id是object.id,我想獲得選中選項的對象id,代表我的情況下的一個對象。目的是使用

回答

2

這可能會實現(不知道這是否會返回一個數組或沒有,所以你會發現):

$('#mylist').change(function() { 
    var selected = $(this).find('option:selected'); 

    // Foo. 
}); 
+0

嗨,我可以通過訪問「selected [0] .value」得到所選的選項值(即object.id),但是這意味着什麼? – Mellon 2011-04-21 06:47:35

+0

'[0]'是數組索引。您可以選擇多個項目,因此它們將被聚合在數組中。您可以使用'.find('選項:selected:eq(0)');',如果您願意,可以選擇第一個選定的項目。 – Blender 2011-04-21 15:00:20

1

我想通了,使用下面的代碼,適合正是我想要的:

$('#mylist').change(function() { 
    var selected_object_id = $(this).find('option:selected').attr('value'); 
    console.log(selected_object_id); //it directly returns to me the selected option represented object id 
}); 
相關問題