web-dev-qa-db-ja.com

SelectでonChangeから値を取得できないのはなぜですか?

フォームの一部をテストします。だから今、私はユーザーが何を選択したかを警告したいだけです:

JS:

function getData(title)
{
     alert(title);
}

PHPによって生成されたHTML:

<select name="currentList" onChange="getData(this);">
     <option value="hat">Hat</option>
     <option value="shirt">Shirt</option>
     <option value="pants">Pants</option>
</select>

値を変更すると、次のアラートが表示されます。

[オブジェクトHTMLSelectElement]

10
dcp3450

alert(this.value)を試してください

19
meder omuraliev

thisを使用すると、選択したオプションの値ではなく、 HTML select element を関数に渡します。選択したオプションの値を取得するには、選択したオプションをoptionsからselectedIndexで取得してから、そのvalueを取得する必要があります。手短に:

function getData(dropdown) {
    var value = dropdown.options[dropdown.selectedIndex].value;
    alert(value);
}
12
BalusC

JQueryを使用すると、選択リストにid = "currentList"を追加する限り、alert($( "#currentList")。val());で簡潔にすることができます。このようにして、「this」をonchange関数に渡す必要はありません。

0
Ian Davis