私は次のものを持っています:
$("#cityID").change(cityIdChanged(this))
function cityIdChanged(select) {
store.setItem('CityID', select.val());
}
「select」はプロパティvalをサポートしていないというエラーメッセージが表示されるため、これは機能しないようです。
cityIdChanged関数に変更されたものへの参照を渡すにはどうすればよいですか?
私は次のものを持っています:
$("#cityID").change(cityIdChanged(this))
function cityIdChanged(select) {
store.setItem('CityID', select.val());
}
「select」はプロパティvalをサポートしていないというエラーメッセージが表示されるため、これは機能しないようです。
cityIdChanged関数に変更されたものへの参照を渡すにはどうすればよいですか?
$("#cityID").change(function(){
cityIdChanged(this); // "this" is the DOM object
});
function cityIdChanged(select) {
store.setItem('CityID', select.value); // You get value with .value not .val()
}
入力値を取得するためにjQueryを使用しないでください。
jQueryの目標の1つはDOMを抽象化することですが、DOMプロパティを知ることは非常に役立ちます。DOMについて学習せずにjQueryを学習する人が最もよく犯す間違いの1つは、jQueryのすばらしい機能を利用して要素のプロパティにアクセスすることです。
$('img').click(function() {
$(this).attr('src'); // Bad!
});
上記のコードで、this
はクリックイベントハンドラーが発生した要素を指します。上記のコードは遅くて冗長です。以下のコードは同じように機能し、はるかに短く、高速で、読みやすくなっています。
$('img').click(function() {
this.src; // Much, much better
});
$("#cityID").change(cityIdChanged(this))
function cityIdChanged(select) {
store.setItem('CityID', $(select).val()); or // select.value but not select.val()
}