選択肢変更イベントでは、選択値を得るために$("select option:selected")
のような不器用なコードを書くのではなく、this
またはevent.target
を選択して得られないのはなぜですか?selecteオプションの変更イベントでthisおよびevent.targetを選択した値を取得できないのはなぜですか?
変更イベントが発生すると、domのオプションで何らかのdata-*
属性にアクセスする必要があるという問題が発生したためです。 docsから
選択肢変更イベントでは、選択値を得るために$("select option:selected")
のような不器用なコードを書くのではなく、this
またはevent.target
を選択して得られないのはなぜですか?selecteオプションの変更イベントでthisおよびevent.targetを選択した値を取得できないのはなぜですか?
変更イベントが発生すると、domのオプションで何らかのdata-*
属性にアクセスする必要があるという問題が発生したためです。 docsから
、
jQuery
ハンドラを呼び出すと、このキーワードはイベントがに送達されている要素への参照です。直接バインドされたイベントの場合は、これがイベントがアタッチされた要素であり、委任されたイベントの場合は、これは要素マッチングセレクタです。 (イベントは子孫要素からバブリングした場合、これはのevent.targetに等しくなくてもよいことに留意されたい。)select-change
イベントについて
、このrefers
select
の要素は、したがって、あなたがthis.value
又は$(this).val()
を使用して値を取得することができます。
これはchanged
の文脈の下にあるオプションのみが選択要素(this
)を選択しますようoption
要素、
利用$('option:selected', this)
のdata-*
属性を取得するには