1

2 つのフィールド入力があり、#pricein フィールド入力に別のスクリプトから動的に数値が入力されている場合。

<form>
    How much do you want to spend 
    <input type="text" readonly="readonly" id="pricein"/>
    <br /> 
    This is how much you will spend
    <input type="text" readonly="readonly" id="priceout"/> 
</form>

jquery でその数値が変化したときにその数値を読み取り、#priceout フィールドに表示するにはどうすればよいですか? アクションなしで変更されるため、それをトリガーするオンクリックまたはキープレスは機能しません。ありがとう!

4

4 に答える 4

1

プログラムで変更された値の場合、イベントでは検出できません。代わりに、他のスクリプトのコードと統合してください。直接制御できない場合は、他のスクリプトを実行する必要があるときにコードを実行してください。たとえば、ある要素をクリックしたとき。それが不可能で、他のスクリプトがまったく予測できない場合は、最後の手段としてタイマーを使用できます。

(function (){
    var lastValue = $("#pricein").val();
    setInterval(function() {
        if ($("#pricein").val() != lastValue)
            lastValue = $("#pricein").val();
            valueChanged();
        }
    }, 500);
})();
于 2012-07-30T22:39:44.897 に答える
1

jQueryのchange()は使えますか? http://api.jquery.com/change/

    $(function(){
       $("#pricein").change(function() {
          $("#priceout").val($(this).val());
       })
    })
于 2012-07-30T22:12:54.947 に答える
1

あなたは動的に作成されるため、次のようなデリゲート イベント バインディング#priceinが必要です。.on()

 $("form").on("keyup", "#pricein", function() {
    $("#priceout").val( this.value ); // OR $(this).val()
 });

.on()ライブ イベント委任の構文は次のとおりです。

$(StaticParent).on( eventName, target, handlerFunction )

ここで、StaticParent動的ではなく、要素の親ではない任意のセレクターですtarget

于 2012-07-30T22:14:24.860 に答える
0

初期スクリプトにアクセスできますか? もしそうなら、次のようにキーアップアクションをトリガーできますか:

http://jsfiddle.net/WRMyX/1/ (ありがとう、gilly3)

于 2012-07-30T22:37:00.503 に答える