Javascript 为什么';each()函数是否与连接到DOM的输入一起工作?
我试图使用Javascript 为什么';each()函数是否与连接到DOM的输入一起工作?,javascript,jquery,Javascript,Jquery,我试图使用.each()函数从输入中捕获值,但是它只适用于DOM中存在的输入 我正在使用jQuery插入更多的HTML条目。这些添加的输入没有绑定到DOM中,因此使用.on()将这些字段附加到DOM中 我的目标是将用户添加的每个输入的所有值相加 以下是代码的摘录: $("form").on("click", "#calc", function () { var total = 0; $('#1 .val').each(f
.each()
函数从输入中捕获值,但是它只适用于DOM中存在的输入
我正在使用jQuery插入更多的HTML条目。这些添加的输入没有绑定到DOM中,因此使用.on()
将这些字段附加到DOM中
我的目标是将用户添加的每个输入的所有值相加
以下是代码的摘录:
$("form").on("click", "#calc", function () {
var total = 0;
$('#1 .val').each(function(){ /* HERE IS THE PROBLEM */
var valor = Number($(this).val());
if (!isNaN(valor)) total += valor;
});
alert(total);
});
对于我的网站而言,问题是由于缺少一个
“
字符,该字符界定了您为附加的输入
元素提供的id
,因此类
丢失
要解决这个问题,您可以使用模板文本,这样就不需要意大利面字符串连接,还可以删除动态内容上的id
属性,因为这是一种反模式。这将为您提供更简单的代码,更易扩展,更易于维护
试试这个:
$(文档).ready(函数(){
$(“表单”)。在(“单击”,“添加campo”,函数()上{
让$container=$(this).closest('.descripao_-rot');
让qtd_input=$container.find('.val').length;
如果(qtd_输入<10){
$container.append(`
Valor`);
}否则{
警惕(“Ainda nãoépossivel adicionar mais descripções”);
}
});
$(“表格”)。在(“单击”,“计算”,函数()上){
var合计=0;
$('.val')。每个((i,el)=>total+=Number(el.value)| | 0);
警报(总数);
});
});
直径1
英勇
+
结石的
请添加所需的html以重现您的问题。输入的id属性缺少结束引号: