javascript - 如何在使用整数更新单元格后刷新我的表单集数据?
问题描述
我已经玩了几天了,今天取得了一些进步。我只是想在用户在表中输入值时添加值。这种代码很有效。
$(document).ready(function() {
$("input[name$='-line_item_total']").on('keyup', function(){
var total = 0;
console.log('hello1');
// on every keyup, loop all the elements and add all the results
$("input[name$='-line_item_total']").each(function(index, element) {
var val = parseFloat($(element).val());
if( !isNaN( val )){
total += val;
}
});
$("#id_total_total").val(total);
});
});
有问题的表格是动态表格,用户可以输入任意数量的行。我遇到的问题是,只有当用户更新以 -line_item_total 开头的第一个行项目时,这些值才会全部引用。我想要实现的是任何时候以 -line_item_total 结尾的任何行都被更新,然后重新计算整个列。如前所述,此代码的工作原理是它似乎确实可以看到所有值并重新计算用户是否返回原始单元格并更新初始值,但这并不是我希望实现的。如果有更好的方法来实现这一点,我也对此持开放态度。我很困惑,因为所有单元格都以 -line_item_total 结尾,所以我希望每次都会根据我提供的代码进行重新计算,但它' 不是那样工作的。提前感谢您的任何想法。
解决方案
所以我通过这个SO找到了我的问题的答案...... https://stackoverflow.com/questions/36787479/calculations-in-a-dynamically-added-rows-using-jquery
这是我的最终代码...
<script type="text/javascript">
$(document).ready(function(){
$(document).on('keyup',"input[name$='-line_item_total']",function(){
update_total();
});
});
function update_total()
{
var total = 0;
$("input[name$='-line_item_total']").each(function(index, element) {
var val = parseFloat($(element).val());
if( !isNaN( val )){
total += val;
}
});
$("#id_total_total").val(total);
}
</script>
推荐阅读
- arrays - 复杂度为 O(1) 的数组的 Python 3 类 Perl/类 Ruby 移位运算符?
- unicode - 我不明白如何在 discord bot 中将 unicode 用于表情符号
- c++ - 对类成员和构造函数参数使用相同的名称
- openfaas - 如何更新现有 OpenFaas 集群的集群配置
- reactjs - 如何在蚂蚁设计中制作密码掩码
- javascript - 错误:ENOENT:没有这样的文件或目录,打开 'dist\browser\index.html'
- kotlin - 在 Kotlin 中将字符串转换为整数列表
- javascript - TypeError:无法读取未定义的 React 类组件的属性“原型”
- javascript - 如何将 Lighthouse CI 设置为仅测试可访问性?
- amazon-s3 - 如何从 sagemaker jupyter notebook 读取存储在 S3 中的大文本文件?