javascript - 计算具有值的输入数
问题描述
js noob 这里 - 我正在尝试计算具有计算值的输入的数量。我想出的尝试实现的代码如下:
var fields = document.querySelectorAll('[id^=example-]'), count = 0;
for (var z = 0; z <= fields.length; z++) {
if (fields[z].value != "") {
count = count + 1;
}
console.log('count is: ' + count);
}
上下文:总共有 3 个输入,上面的代码在点击事件上执行。
现在第一次,这显然运行良好,例如,如果我设置三个输入中的第一个输入的值并返回 [1]。我第二次更新相同字段的值时,计数器再次增加(逻辑上)。
现在,我想要实现的是在事件触发时检查所有三个输入并计算其中有多少具有值(如果它们已经被计为在先前的触发事件中具有值,则不要进一步增加计数器)。
任何帮助将不胜感激。谢谢!
解决方案
更短
const count = [...document.querySelectorAll('[id^=example-]')]
.filter(fld => fld.value.trim() !== "")
.length
推荐阅读
- php - 如何在codeigniter中将日期格式更改为strtotime
- sql - 返回运行总计字段的上一行值
- angular - 我们可以将 ngx-lightbox 与异步管道一起使用吗?
- arrays - 使用嵌套数组进行数组操作
- javascript - 禁用 Formik 字段的重置值
- javascript - 如何从数组中删除嵌套元素?
- javascript - javascript使对象逐渐移动而不是立即移动
- ruby - ruby 中的模型和模式是否相同?
- .net - IBM MQ .NET (amqmdnetstd) 共享订阅查询
- elasticsearch - 无法在弹性搜索中对聚合桶结果进行排序