- select 要素の下にあるすべての option 要素が selected 属性を指定していない場合は、最初の要素がデフォルトで選択されます。
- 選択されたオプション要素のインデックスは、select.selectedIndex を通じて取得できます。
- 選択されたオプション要素は、select.options[select.selectedIndex] を通じて取得できます。
- option 要素 <option selected="selected" value="value3">text3</option> の場合、option 要素の value 属性値は、option.value を通じて取得できます。つまり、option 要素内のテキストは次のようになります。 option.text、つまり text3 を通じて取得されます。
- option 要素で value 属性が定義されていない場合、IE では option.value を取得できませんが、Safari、Opera、FireFox では引き続き option.value を通じて取得でき、値は option.text と同じです。
- option.attributes.value && option.attributes.value.specified を使用して、option 要素が value 属性を定義するかどうかを判断できます。
したがって、現在の選択要素の値を取得するスクリプトは次のようになります。
var getSelectValue = 関数(選択) {
var idx = select.selectedIndex,
オプション、
価値;
if (idx > -1) {
オプション = select.options[idx];
値 = オプション.属性.値;
return (値 && 値.指定) ? オプション.値 : オプション.テキスト);
}
null を返します。
}