0

我在网上寻找这个并接近解决方案,但没有直接处理它。

我有两个表单选择下拉菜单:

我想要这么多治疗师-

<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>

我迷路了。

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

4

2 回答 2

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);
}
于 2012-09-25T01:22:54.100 回答
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;
于 2012-09-25T01:22:32.363 回答