Javascript 发生更新数据属性的keyup事件后未触发的脚本
我正在尝试使用keyup函数修改在表单的Javascript 发生更新数据属性的keyup事件后未触发的脚本,javascript,jquery,Javascript,Jquery,我正在尝试使用keyup函数修改在表单的中具有数据属性的脚本。更改的数据属性为数据成本=”。我已经使用Chrome的inspect element工具验证了keyup事件中的更改是否正确发生 我遇到的问题是,在进行更改时,使用数据属性data cost=“的脚本没有更新。我不确定在更改后如何使脚本触发 每次单击复选框时,我所指的脚本汇总了名为data cost的所有数据属性 这是输入的html: <input data-cost="" value="" type="checkbox" na
中具有数据属性的脚本。更改的数据属性为数据成本=”
。我已经使用Chrome的inspect element工具验证了keyup事件中的更改是否正确发生
我遇到的问题是,在进行更改时,使用数据属性data cost=“
的脚本没有更新。我不确定在更改后如何使脚本触发
每次单击复选框时,我所指的脚本汇总了名为data cost
的所有数据属性
这是输入的html:
<input data-cost="" value="" type="checkbox" name="f_2[]"/>
您是否尝试使用$(this)而不是这个?这只是一个偶然的机会,因为我对您试图实现的目标有点困惑,但是在最后一次.attr更改之后,您希望调用正在进行求和的函数,如下所示:
$(function () {
$('#account_balance1').on('keyup blur paste', function() {
var self = this;
setTimeout(function() {
var str = $(self).val();
$("input[data-cost][debt]").attr('data-cost',str.replace(/^\$/, ''));
$("input[data-cost][debt]").attr('debt',str.replace(/^\$/, ''));
YourSummingFunctionName(maybeEvenPassSomething);
}, 0)
})
});
另一个不相关的注意事项是,一旦一切都按您所希望的方式运行,请尝试删除setTimeout部分,我认为您在此处尝试执行的操作没有必要。能否包括您尝试触发的脚本,该脚本正在读取数据成本属性?谢谢,但它不起作用。问题不在于这个脚本,它确实有效。问题在于我的计算脚本在keyup脚本更改数据后未触发。好的,我将删除它。另外,我将把另一个脚本放在小提琴上,因为它对于这个站点来说太大了。不需要,只需从代码中按名称调用该函数,就像我上面展示的那样。。。不要使用SummingFunctionName()函数,而是使用您的函数名
$(function () {
$('#account_balance1').on('keyup blur paste', function() {
var self = this;
setTimeout(function() {
var str = $(self).val();
$("input[data-cost][debt]").attr('data-cost',str.replace(/^\$/, ''));
$("input[data-cost][debt]").attr('debt',str.replace(/^\$/, ''));
YourSummingFunctionName(maybeEvenPassSomething);
}, 0)
})
});