如果我有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或按键不起作用,因为它在没有动作的情况下改变。谢谢!
答案 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)