Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 具有多个输入名称的getElementsByName_Javascript - Fatal编程技术网

Javascript 具有多个输入名称的getElementsByName

Javascript 具有多个输入名称的getElementsByName,javascript,Javascript,我正在为我做一些自动求和输入计算器,但我有问题,因为我不知道如何选择多个具有不同名称的输入。我知道我可以用“输入”来代替确切的名称,但我只需要对5-6个输入进行计算,而不是全部,所以请帮助我这样做 代码现在如下所示: <script type="text/javascript"> function findTotal(){ var arr = document.getElementsByName('test1'); var tot=0; for(var i=0

我正在为我做一些自动求和输入计算器,但我有问题,因为我不知道如何选择多个具有不同名称的输入。我知道我可以用“输入”来代替确切的名称,但我只需要对5-6个输入进行计算,而不是全部,所以请帮助我这样做

代码现在如下所示:

<script type="text/javascript">
function findTotal(){
    var arr = document.getElementsByName('test1');
    var tot=0;
    for(var i=0;i<arr.length;i++){
        if(parseInt(arr[i].value))
            tot += parseInt(arr[i].value);
    }
    document.getElementById('total').value = tot;
}
</script>

函数findTotal(){
var arr=document.getElementsByName('test1');
var-tot=0;
对于(var i=0;i,您可以将倍数用于:


但是,如果它们共享一个公共的
名称,您可以:

或者,如果它们共享一个公共父元素,则可以:

您可以将多个选项用于:


但是,如果它们共享一个公共的
名称,您可以:

或者,如果它们共享一个公共父元素,则可以:


document.getElementsByTagName
是您的朋友我认为document.getElementsByTagName不是解决方案,因为我在脚本100中有输入,但只需要计算5个输入,而不是全部。
document.getElementsByTagName
是您的朋友我认为document.getElementsByTagName不是解决方案,因为我在脚本100中有输入,但是只需要精确地计算5个输入,而不是全部。Ty buddy,我用querySelectorALL:)完成了这项工作。还有一个问题,很难更改我的脚本以小数显示数字(如金钱?)@user3343502实际上还有一个问题:是的,我找到了,但问题是因为我不知道如何在我的代码中实现它:DTy buddy,我用querySelectorALL:)还有一个问题,很难更改我的脚本以小数显示数字(如金钱?)@user3343502实际上还有一个问题:是的,我找到了,但问题是我不知道如何在代码中实现它:D
var arr = document.querySelectorAll('[name="test1"], [name="test2"], [name="test3"], [name="test4"], [name="test5"]');
<input name="test1" class="totaled">
<input name="test2" class="totaled">
<!-- etc. -->
var arr = document.querySelectorAll('.totaled');
<div id="the-parent">
    <input name="test1">
    <input name="test2">
    <!-- etc. -->
</div>
var arr = document.querySelectorAll('#the-parent input');

// or
var arr = document.getElementById('the-parent').getElementsByTagName('input');