Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/426.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 多变量值_Javascript - Fatal编程技术网

Javascript 多变量值

Javascript 多变量值,javascript,Javascript,我只是在学习JavaScript。我现在做的是在我的联系方式上传递价值观 function calculate(){ var dr1=document.getElementById('numimg'); var resultdrop=document.getElementById('total'); resultdrop.value=0; resultdrop.value=parseInt(resultdrop.value); for(i=0;i<d

我只是在学习JavaScript。我现在做的是在我的联系方式上传递价值观

function calculate(){
    var dr1=document.getElementById('numimg');
    var resultdrop=document.getElementById('total');
    resultdrop.value=0;
    resultdrop.value=parseInt(resultdrop.value);
    for(i=0;i<dr1.length;i++)
        if(dr1.options[i].selected)
            resultdrop.value=parseInt(resultdrop.value)+parseInt(dr1[i].value);
}

我不知道该怎么解决。有人能帮我吗?

如果让我猜的话,我会说你的HTML可能看起来像这样:

<select id="numimg" name="numimg">
<!-- Some Options -->
</select>
<select id="numimg1" name="numimg1">
<!-- Some Options -->
</select>
<select id="numimg1" name="numimg1">
<!-- Some Options -->
</select>

问题是,在整个HTML文档中,每个
id
都必须是唯一的。如果需要收集多个DOM元素,可以:

  • 使用
    document.getElementsByTagName
    并迭代该集合,提取所需内容
  • 使用
    document.querySelectorAll
    根据CSS样式的查询准确地提取您需要的内容
  • 使用一个库来为您记录浏览器之间的差异。(我建议使用jQuery,但Mootools、Dojo和YUI是其他一些不错的选择。)

  • 但正如我所说的,只是一个猜测——如果我们能看到有助于解决问题的HTML。

    为什么要尝试在数组上循环
    dr1
    将只包含对一个元素的引用。您为我们提供了一些设置,但没有解释问题所在。你能更详细地说明什么是真正的错误或不起作用吗?@Marcel Korpel-这个元素(numing)是下拉列表,它的length属性实际上返回下拉列表中的选项数量,因此代码确实有效@Dom-您的代码没有传递任何值。它只是将“numing”下拉列表中的选定值添加到“resultdrop”值,可能是表单中的隐藏字段。为了获得帮助,请更好地解释您试图实现的目标。我刚刚添加了整个功能。基本上,我从var dr1中获取值并将其传递给var resultdrop。当我想将一个以上的var传递给var resultdrop,比如var dr1、var dr2…@Shadow:Wow,我总是使用
    el.options.length
    ,但你是对的(尽管它不是最清晰的符号)。每天都是学习的一天。document.queryselector对我来说很有用。非常感谢您的帮助。(是的,
    ids
    repeat——这是对OP的HTML外观的猜测,不是打字错误——但谢谢!)@Dom——太棒了!请注意,
    querySelectorAll
    在IE7或以下版本中不起作用。事实上,我没有仔细查看代码后面的第一行。
    <select id="numimg" name="numimg">
    <!-- Some Options -->
    </select>
    <select id="numimg1" name="numimg1">
    <!-- Some Options -->
    </select>
    <select id="numimg1" name="numimg1">
    <!-- Some Options -->
    </select>