1

2 つの入力 [type=text] があります。

<input type=text id=inputOne>
<input type=text id=summary>

#inputOne が変更されたときに #summary.value を #inputOne.value で更新したい (これが質問です)。私が解決できなかった問題は、「ユーザー」が #inputOne に直接アクセス/変更していないため、blur、keyup、change、onmouseover などのイベントが起動していないか、起動していませんが、機能させることができませんでした。 .

ユーザーは #inputOne.value を unknownFunction で変更しますが、これは変更もアクセスもできません。

<script>
  ...
  unknownFunction(){
     ...
     $("#inputOne").val(aDynamicValue);
  }
</script>

私が試した基本的なjQuery関数は次のとおりです。動いていない :)

<script>
   ...
   $("#inputOne").change(function(){
       $("#summary").val("Value: "+$(this).val()+"...");
   });
</script>
4

3 に答える 3

1

値を更新している関数を変更できない場合は、ソースをポーリングして変更を確認する必要があります。

setInterval(function() {
  var inputOne = $('#inputOne'), summary = $('#summary'), previous = $inputOne.val();
  return function() {
    var current = inputOne.val();
    if (current !== previous) {
      summary.val('Value: ' + current + '...');
      previous = current;
    }
  }
}(), 100);

これにより、100 ミリ秒ごとに入力の変更がチェックされ、値が更新されたときに概要が更新されます。

于 2012-12-25T21:58:28.190 に答える
0

これは、すべてのブラウザーと Jquery <= v1.10 で機能します。

$('#inputOne').on('keyup', function () {
    $("#summary").val("Value: "+$(this).val()+"...");
});

テキストボックスの入力フィールドの変更イベントは、期待どおりに発生します。jQuery .Change イベントは、html5 をサポートするブラウザーでのみ正しく機能します。

于 2013-12-01T08:13:22.930 に答える
0

HTML5 仕様によると、input 要素の値をプログラムで変更すると、 イベントinputchangeイベントがトリガーされます。要素のinputコンテンツが変更されたchangeときにイベントが発生し、変更がコミットされたときにイベントが発生します。たとえば、要素からタブで移動します。

inputこれは、イベントのハンドラーをバインドする方が よりもうまく機能することを示唆していchangeます。試してみて、動作するかどうかを確認してください。

于 2012-12-25T22:15:57.217 に答える