我在网上看了这个并接近解决方案,但没有直接处理它。
我有两个表单选择下拉列表:
我想要这么多治疗师 -
<select name="calcXmultiple" onChange="javascript:calcTherapist(1, this.value)">
<option selected="selected" value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>
工作这么多个小时 -
<select name="calcXmultiple" onChange="javascript:calcTherapist(1, this.value)">
<option selected="selected" value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>
我迷路了。
我想将这两个值发送给一个函数。我知道如何向函数发送单个值,它工作正常。如何发送两个值?
答案 0 :(得分:1)
给两个下拉列表不同的名称和不同的ID
<select name="calcXmultiple1" id="calcXmultiple1" onChange="calcTherapist()">
...
</select>
<select name="calcXmultiple2" id="calcXmultiple2" onChange="calcTherapist()">
...
</select>
他们有一个共同的功能
function calcTherapist()
{
var calcXmultiple1 = document.getElementById('calcXmultiple1');
var calcXmultiple2 = document.getElementById('calcXmultiple2');
var therapist = calcXmultiple1.value;
var hours = calcXmultiple2.value;
//doSomethingWith(therapist, hours);
}
答案 1 :(得分:0)
一种方法是从函数本身获取两个值,而不是将值作为参数传递给函数。
如果您为<select>
元素提供了唯一id
个属性,则可以执行以下操作:
var selectTherapists = document.getElementById("selectTherapists");
var selectHours = document.getElementById("selectHours");
var totalHours = selectTherapists.options[selectTherapists.selectedIndex].value * selectHours.options[selectHours.selectedIndex].value;