9

フォーム内に入力要素があり、値が変更されたときにその値を抽出できるようにしたいと考えています。このフィドルを見てください:http://jsfiddle.net/spryno724/WaBzW/1/

イベントを使用するchangeことで、入力がフォーカスを失ったときに入力されたテキストの値を表示することができます。ただし、フォームがリセットされたとき、またはJavaScriptがテキスト入力の値をクリアしたときに、値は更新されません。

テキスト入力コントロールに変更が加えられたときにディスパッチされる、リッスンできる特定のイベントはありますか?

フォームがリセットされたときや、クリアボタンが押されたときのリッスンなどの回避策は避けたいです。これは私のアプリケーションが行うことの単純化された例であり、それをすべて実行しようとすると、かなり速く狂ってしまいます。

お時間をいただきありがとうございます。

4

4 に答える 4

12
$(document).ready(function() {
    $('input.clear').click(function() {
        $('input.input').val('');
        $('p.display').text('The value of the text input is: ');
    });

    $('input.input').on('keyup change', function() {
       $('p.display').text('The value of the text input is: ' + $(this).val());
    });
})​

デモ1

おそらくこの解決策はあなたを助けるかもしれません:

$(document).ready(function() {
    $('input.clear, input[type=reset]').on('click', function() {
        $('input.input').val('').change();
        $('p.display').text('The value of the text input is: ');
    });

    $('input.input').on('keyup change', function() {
        $('p.display').text('The value of the text input is: ' + $(this).val());
    });
});​

デモ2

于 2012-05-28T03:39:54.057 に答える
2

この質問は別の質問とまったく同じです。私の質問への回答として、賛成票の数が最も多い回答を参照してください。

JSイベント:テキスト入力の値変更イベントをフックする

于 2012-05-30T20:21:27.943 に答える
1

valjQueryのオーバーライドメソッド

HTML

<input id='myInput' name='myInputField' value='v1'>

JS

var myInput = $('#myInput');

//this will not trigger the change event
myInput.val('v2');

//override val method
var oldVal = myInput.val;
myInput.val = function(value){
   var returnVal = oldVal.call(this,value);
   myInput.change();
   return returnVal;
}

// this will trigger the change event
// myInput.val is overridden
myInput.val('v3');

これは、valメソッドがmyInput変数から呼び出された場合にのみ機能します

于 2015-03-10T17:46:02.300 に答える
-1

試す

$('#input').live('change',function() {         })
于 2012-05-28T03:47:12.767 に答える