onChange不会触发动态内容

onChange doesn't fire for dynamic content

本文关键字:动态 onChange      更新时间:2023-09-26

我有3个输入文本,我想在前2个文本之间做一些操作,并在第3个文本中打印结果。第一个输入文本的内容由查询生成,从数据库获取数据,因此内容是动态生成的。所以我的例子是:(第一个输入文本- 3)减去(第二个输入文本0)=(结果输入文本0);
这是我用来这样做的代码的一部分:

$(document).on('change input load', '#act_hrs_1e', function() { var_hrs('act_hrs_1e','plan_hrs_1e','var_hrs_1e'); });

我的问题是,没有改变,输入或加载不工作的动态生成的内容(在我的例子是3),我想要的是,当我加载页面,它做的操作,而不需要输入的东西来触发函数

您必须将load事件与该代码分开,您将load事件从document对象委托给id为#act_hrs_1e的元素,这应该可以工作:

function callHrs() {
    var_hrs('act_hrs_1e','plan_hrs_1e','var_hrs_1e'); 
}
$(document).on('ready', callHrs).on('change input', '#act_hrs_1e', callHrs);

看起来您正在将事件范围缩小到具有act_hrs_1e ID的对象,您应该只有一个具有该ID的元素。

尝试将作用域限定在一个css类中,或者删除作用域以响应所有元素的事件。