$('input').change(function(){
alert($(this).val());
});
$('input').val(1);
これは機能しません。JavaScript で変更入力をキャプチャする必要があります:-s
ありがとう。
$('input').change(function(){
alert($(this).val());
});
$('input').val(1);
これは機能しません。JavaScript で変更入力をキャプチャする必要があります:-s
ありがとう。
要素に対するプログラムによる変更で<input>
は、イベントは発生しません。ユーザーとの対話のみが行われます。
ただし、これを行うことができます:
$('input').val(1).trigger('change');
これらの関数を「Ready」関数内に配置する必要があります。フィドルを参照してください:http://jsfiddle.net/SfjJQ/1/
$(function() {
$('input').change(function() {
alert($(this).val());
});
$('input').val(1);
$('input').trigger('change');
});
次の点に注意してください。
$('input').val(1);
入力の値を 1 に初期化します。
もちろん、これを行うこともできます:
$(function() {
$('input')
.change(function() {
alert($(this).val());
})
.val(1)
.trigger('change');
});
他の人が述べたように、 .val() はイベントをトリガーしません。ただし、必要に応じて、値を変更してイベントをトリガーするラッパー関数を jQuery に追加できます。
$( function () {
//-- new jQuery function
$.fn.changeVal = function () {
$.fn.val.apply( this, arguments );
$( this ).trigger( 'change' );
};
//-- your updated code
$('input').change(function(){
alert($(this).val());
});
$('input').changeVal(1);
} );