Javascript 多变量值
我只是在学习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
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样式的查询准确地提取您需要的内容但正如我所说的,只是一个猜测——如果我们能看到有助于解决问题的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>