使用for循环和HTML输入在Javascript中创建一个数组
Create an array in Javascript using a for loop and HTML inputs
我在html表单中为一堆输入建立了索引。
我想循环输入并创建一个数组。我想从这个数组中收集字段的总和,最后附加另一个HTML输入来显示该总和。
我知道如何在PHP中做到这一点,但我在JavaScript方面很吃力,我需要在客户端完成它。
我试着尽可能多地构建这个。这里有一个jsFiddle:
这是我的html:
<div style="padding:5px;clear:both;"><input type="text" name="total_inkind" id="total_inkind" placeholder="$" onchange="calcInKind()"></div>
和Javascript:
function calcInKind() {
var runningTotal = 0;
var i = 0;
for (var i = 0; document.getElementById('inkind').value; i++){
if(document.getElementById('inkind').value != ''){
$gwyl_gr = document.getElementById('inkind').value;
$runningTotal = parseFloat($runningTotal) + parseFloat($gwyl_gr);
}else{
$gwyl_gr = 0;
}
i = i++;
}
document.getElementById('total_inkind').value = $runningTotal;
}
对于像所有表单元素的总和这样简单的东西,除非你想以多种方式操作每个值,否则你并不真正需要数组。但是,您可以对表单中的每个输入进行循环,获取其值并将其添加到总数中。
然而,在查看您的代码时,我不得不指出,与PHP不同,Javascript不需要变量前面加一个$。然而,您有机会使用它们(JQuery用户经常这样做)来表示他们的变量实际上是JQuery变量。
我分叉了你的JSFiddle,并重写了一些东西,让它像问题所说的那样工作:JSFiddle
function sumTheInkinds() {
var runningTotal = 0;
var ourlist = document.getElementsByClassName("inkind");
for (var i = 0; i < ourlist.length; i++) {
if (ourlist[i].value != '') {
try {
runningTotal = runningTotal + parseFloat(ourlist[i].value);
} catch (err) {
alert ("Value was not a float!");
}
}
}
document.getElementById('total_inkind').value = runningTotal;
};
document.getElementById("runcalc").onclick = sumTheInkinds;
然而,我的实现依赖于一个按钮按下,这可能不是有意的,通过应用以下内容可以很容易地将其更改回onchange:
var inks = document.getElementsByTagName("inkind");
for (var i=0;i<inks.length;i++) {
inks.onchange = sumTheInkinds;
}
相关文章:
- knex:根据结果创建数组的合适方法是什么
- 在javascript中创建数组,而不是if.else
- 使用来自不同循环Javascript的数据创建数组
- 尝试从计算创建数组时数组长度无效
- 循环选择标记并创建数组或字符串
- 根据 Array Javascript 中的字符串值动态创建数组名称
- 通过动态创建数组名称在单击函数中引用 javascript 数组
- 如何在不完成添加序列的情况下从rxjs创建数组
- 如何在不创建数组的情况下使用NgFor来生成矩阵UI模式
- 使用jquery从TextArea创建数组
- jquery动态创建数组
- 从现有数组创建数组
- 使用对象的副本创建数组(Javascript)
- 基于分隔符/方括号的实例创建数组
- 如何创建数组取决于是否在jQuery中设置了变量
- 使用JavaScript's Reduce从对象数组创建数组
- 在 JavaScript 中动态创建数组
- 在 javascript 中使 split() 方法使用双引号而不是单引号创建数组
- 在 $.each 函数中使用条件来创建数组
- 如何修改此代码,以便创建数组并将事件添加到数组中