Javascript .change()元';t由于默认值而触发
我有一种数字输入的形式,我给它分配默认值。但是,通过为输入指定默认值,现在当我输入并更改输入的实际值时,Javascript .change()元';t由于默认值而触发,javascript,jquery,Javascript,Jquery,我有一种数字输入的形式,我给它分配默认值。但是,通过为输入指定默认值,现在当我输入并更改输入的实际值时,.change()事件将不会触发 我试过.val()和.keypress(),但运气不好 HTML: <form id="target"> <h4>% Coal generation:<input type="number"></h4> <h4>% Biomass generation:<input type="
.change()
事件将不会触发
我试过.val()
和.keypress()
,但运气不好
HTML:
<form id="target">
<h4>% Coal generation:<input type="number"></h4>
<h4>% Biomass generation:<input type="number"></h4>
<h4>% Geothermal generation:<input type="number"></h4>
<input id="submitprofile" type="submit" class="submit" value="Calculate">
</form>
您必须将更改处理程序分配给表单的输入,如下所示:
$( "#target :input" ).change(function() {
console.log('form changed');//not happening!
refreshdisplay();
});
e、 g.此处:
如果您确实希望每次输入数字时调用刷新显示
-功能,请将替换为。更改
。按键
。
我建议使用setTimeout或类似的方法为此添加延迟,因为直接向表单字段中添加例如“111”会触发三次,每输入一个数字就会触发一次。尝试读取
输入
字段内部的更改,而不是表单
$( "#target").find("input").on("change", function() {
console.log('form changed');
//refreshdisplay();
});
?对我有用。我想您已经检查了控制台是否有任何错误
$( "#target").find("input").on("change", function() {
console.log('form changed');
//refreshdisplay();
});