使用两个单独的选择下拉列表将两个值传递给函数

时间:2012-09-25 01:10:31

标签: javascript forms 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>
</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>

我迷路了。

我想将这两个值发送给一个函数。我知道如何向函数发送单个值,它工作正常。如何发送两个值?

2 个答案:

答案 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;