jquery动态读取div字段并更新

时间:2012-07-30 22:09:30

标签: jquery html

如果我有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字段中显示?触发它的onclick或按键不起作用,因为它在没有动作的情况下改变。谢谢!

4 个答案:

答案 0 :(得分:1)

你能使用jQuery的change()吗? http://api.jquery.com/change/

    $(function(){
       $("#pricein").change(function() {
          $("#priceout").val($(this).val());
       })
    })

答案 1 :(得分:1)

由于您的#pricein是动态创建的,因此您需要.on()代理事件绑定,如下所示:

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

实时事件委派的.on()语法为:

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

其中,StaticParent是任何非动态选择器和target元素的父级。

答案 2 :(得分:1)

对于以编程方式更改的值,您无法通过事件检测到它。而是与其他脚本的代码集成。如果它不在您的直接控制之下,请在运行其他脚本时运行您的代码。例如,单击某个元素。如果这是不可能的,并且其他脚本真的不可预测,作为最后的手段,你可以使用计时器。

(function (){
    var lastValue = $("#pricein").val();
    setInterval(function() {
        if ($("#pricein").val() != lastValue)
            lastValue = $("#pricein").val();
            valueChanged();
        }
    }, 500);
})();

答案 3 :(得分:0)

您是否可以访问初始脚本?如果是这样,你可以触发这样的键盘操作:

http://jsfiddle.net/WRMyX/1/ (谢谢,吉利3)