selectedIndex
value
は数値であり、プロパティはありません。
(あなたのように)単一選択のみを許可する要素がある場合select
、その値を取得する最も簡単な方法はselect
要素のvalue
プロパティです:
function go(x) {
alert(x.value);
}
サポートしたいブラウザで動作することを再確認しますが、MaryAnne(コメントを参照)は現在のすべての主要なブラウザをチェックし、IE6、IE7、Firefox 3.6(古いブラウザなど)をチェックしました。仕事。DOM2 HTML(上記のリンク)で指定されているため...
しかし、再selectedIndex
、あなたはおそらく意味しました:
function go(x) {
alert(x.options[x.selectedIndex].value);
}
私はおそらくそれをもう少し進めて、より防御的にするでしょう:
function go(x) {
var option = x.options[x.selectedIndex];
if (option) {
alert(option.value);
}
}
...また
function go(x) {
var option = x.options[x.selectedIndex];
var value = option && option.value;
alert(value); // Alerts "undefined" if nothing is selected
}
...選択されたオプションがない場合(この場合はにoption
なりますundefined
)、特定のマークアップとコードでは、change
何も選択されていない場合にイベントが発生するユーザーエージェントを認識していません。少なくとも、私はそうは思いません—「私は思う」が防御的である理由です。:-)