0

javascriptの達人に質問があります。いくつかの異なるテキスト入力フィールドで構成されるサイドバーツールを作成しています。このツールの目的は、テンプレートのコピーを編集することです。onchangeフィールドに入力されたデータを渡そうとしましたが、データをjsオブジェクトにダンプする際に問題が発生します。これは私が心に留めていることです:

$('myInputField').(function(){
      $(this).onChange(){
          // write to variable X
}
});

基本的に、入力に入力している内容をライブで模倣して、データベースへの変更を解析できるようにしたいのです。

4

4 に答える 4

1

myInputFieldそのイベントハンドラー内にある値を探しているだけですか?このようなもの?:

$('myInputField').(function(){
  $(this).onChange(){
      x = $(this).val();
  }
});

thisがすでにjQueryオブジェクトであるかどうか、頭のてっぺんから覚えていません。もしそうなら、これはうまくいくはずで、おそらく少しのオーバーヘッドをスキップします:

x = this.val();

thisさらに、別のコンテキストでオーバーライドされた場合、または他のフィールドも参照したい場合などは、通常のjQueryセレクターを使用してフィールドを明示的に参照できます。

x = $('myInputField').val();
于 2012-04-09T17:01:03.550 に答える
1
$('#myInputField').(function(){
      $(this).onkeyup(){
          x = this.value;
      }
});

以上簡潔に:

$('#myInputField').onkeyup(){
    x = this.value;
});
于 2012-04-09T16:58:32.613 に答える
1

問題は、IE では、onchangeイベントが INPUT 要素で機能しないことです。したがって、何をしたいかによって、onkeypressまたはイベントを使用する必要があります。onblur

JS の方法:

document.getElementById('myInputField').onblur = function() {
    var x = this.value
}

jQuery の方法:

$('#myInputField').blur(function() {
    var x = this.value
})
于 2012-04-09T17:54:53.660 に答える
0

入力フィールドでの単純なキーアップ イベントで十分ではないでしょうか?

jQuery:

$('textarea').keyup(function() {
    $('#foo').html($(this).val());
});​

HTML:

<textarea></textarea>
<div id="foo"></div>

jsFiddle の例

于 2012-04-09T17:05:05.470 に答える