0

私はこれをオンラインで調べ、解決策に近づきましたが、直接対処するものはありませんでした。

2 つのフォーム選択ドロップダウンがあります。

これだけのセラピストが欲しい -

<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 つの値を送信するにはどうすればよいですか?

4

2 に答える 2

1

2つのドロップダウンに異なる名前と異なる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

1つの方法は、値を関数にパラメーターとして渡すのではなく、関数自体から両方の値を取得することです。

<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 に答える