質問する
54282 次
4 に答える
38
そのコードは構文的に正しいです。ほとんどの場合、間違った時間に実行しています。
DOMの準備ができたら、イベントをバインドします。
ネイティブ JS/DOM
window.addEventListener('DOMContentLoaded', () => {
const yearDropDown = document.getElementById('yearDropdown');
yearDropDown.addEventListener('change', () => {
alert(yearDropDown.value)
});
});
jQuery
$(function(){ /* DOM ready */
$("#yearDropdown").change(function() {
alert('The option with value ' + $(this).val());
});
});
または、次を使用しますlive
。
$("#yearDropdown").live('change', function() {
alert('The option with value ' + $(this).val());
});
または、次を使用しますdelegate
。
$(document.body).delegate('#yearDropdown', 'change', function() {
alert('The option with value ' + $(this).val());
});
または、jQuery を使用している場合1.7+
:
$("#yearDropdown").on('change', function() {
alert('The option with value ' + $(this).val());
});
それにもかかわらず、ブラウザがマークアップのレンダリングを終了したら、スクリプトを実行するのが通常は最善です。
于 2012-06-26T21:29:34.863 に答える
2
jsFiffleであなたのコードを試しました。オプションとして数年を手動で追加しました。それは正しく機能します。
$(document).readyの.changeイベントをバインドするだけです。
$(document).ready(function(){
$("#yearDropdown").change(function () {
alert('The option with value ' + $(this).val());
});
});
于 2012-06-26T21:36:26.977 に答える
0
あなたのコードは正しく、私のために働いています。ここを参照してください: http://jsfiddle.net/mobweb/2Skp9/
jQuery が正しく読み込まれていることを確認しますか?
于 2012-06-26T21:31:41.187 に答える
0
これが役立つかどうかはわかりませんが、これを試すことができます:
$("#yearDropdown").live("change", function () {
alert('The option with value ' + $(this).val());
});
于 2012-06-26T21:34:22.720 に答える