- 如果select 元素下的所有option 元素都沒有指定selected 屬性,則會預設選取第一個。
- 可以透過select.selectedIndex 取得到選取的option 元素的索引。
- 可以透過select.options[select.selectedIndex] 取得到選取的option 元素。
- option 元素<option selected="selected" value="value3">text3</option>,可以透過option.value 取得option 元素的value 屬性值,即value3;可以透過option.text 取得option 元素內的文本,即text3。
- 如果option 元素沒有定義value 屬性,則IE 中option.value 無法取得,但Safari、Opera、FireFox 依舊可以透過option.value 取得,值同於option.text 。
- 可以透過option.attributes.value && option.attributes.value.specified 來判斷option 元素是否定義了value 屬性。
故,取得目前select 元素值的腳本如下:
var getSelectValue = funtion(select) {
var idx = select.selectedIndex,
option,
value;
if (idx > -1) {
option = select.options[idx];
value = option.attributes.value;
return (value && value.specified) ? option.value : option.text);
}
return null;
}