Javascript 如果一个类中存在同一个类,如何确定多个输入字段的总和<;td>;不是<;td>&书信电报;输入>;
我不能在表上用td“jumlah”来表示“总计”Javascript 如果一个类中存在同一个类,如何确定多个输入字段的总和<;td>;不是<;td>&书信电报;输入>;,javascript,html,Javascript,Html,我不能在表上用td“jumlah”来表示“总计” $(document).on(“change”,“.jumlah”,function()){ var总和=0; $(“.jumlah”)。每个(函数(){ sum+=+$(this.val(); }); 美元(“.total”).val(总和); }); 我期望jumlah的total输出我创建了一个非常简单的示例,其中包含了您需要的内容,我认为您可以轻松地在代码中实现类似的内容 $('.jumlah')。在('input',functio
$(document).on(“change”,“.jumlah”,function()){
var总和=0;
$(“.jumlah”)。每个(函数(){
sum+=+$(this.val();
});
美元(“.total”).val(总和);
});
我期望jumlah的total输出我创建了一个非常简单的示例,其中包含了您需要的内容,我认为您可以轻松地在代码中实现类似的内容
$('.jumlah')。在('input',function()上{
让elementsToSum=$(document.find('.jumlah');
设和=0;
for(让element of element stosum){
//将的值解析为整数
让eleIntValue=parseInt($(ele.html());
如果(!isNaN(eleIntValue)){
//仅当其为数字(非空)时才将其添加到总和中
总和+=元素值;
}
}
//使用新的计算和更改的值
$('总计').val(总和);
});代码>
td{
宽度:50px;
}
具有[contenteditable]
属性的元素将不具有[value]
属性,因为:
只有非交互、非无效、流动和短语元素(如
、
、
等)可以具有[contenteditable]
只有
、
、
等表单控件才能具有[value]
属性
因此,不要使用.val()
而是使用.text()
,因为文本是非表单控件标记之间的内容。重要的变化是三元:
如果这是一个输入,则获取其值,否则获取其文本
小的改变是:
- 输入事件而不是更改,因为它看起来很光滑
- 表单注册到输入事件,而不是文档
$('.totals')。在(“输入”,“小计”,函数()上){
设和=0;
$(“.subtotal”)。每个(函数(){
sum+=$(this.is('input')?+$(this.val():+$(this.text();
});
美元(“.total”).val(总和);
});代码>
:root{font:700 16px/1.2控制台}
输入、输出、数据{显示:内联块;字体:继承;文本对齐:右;宽度:125px;}
输出,数据{宽度:50px}
数据{轮廓:1px实心#aaa;填充:2px 17px 2px 0px;边距:1px 0px 1px 2px;宽度:110px}
0
0
0
总数:0
添加一些console.log()
,并诊断问题。是否正在启动该函数?sum加起来正确吗?你也可以发布你的html吗?好的,你需要使用input
事件处理程序:我不认为onchange
是合适的事件处理程序,你不应该在上面使用keyup
吗?请不要问
<script>
$(document).on("change", ".jumlah", function() {
var sum = 0;
$(".jumlah").each(function(){
sum += +$(this).val();
});
$(".total").val(sum);
});
</script>
<input type="text" id="total" class="total" value="" />
sum += $(this).is('input') ? +$(this).val() : +$(this).text();