2

もう 1 つ追加する必要がある作業税計算機があります。入力 C では、ユーザーが選択した町に関連付けられた 2 つの既知の値が必要です。次に、これらの値を異なる場所の Calculate 関数にプラグインする必要がありますが、Calculate2 の 1 つの場所にある値は 1 つだけです。何かのようなもの:

<select name="input_C" id="input_C">
<option value="value1,value2">Acworth</option>
</select>

function Calculate(Atext, Btext, Ctext_value1, Ctext_value2, form)
{
    var A = parseFloat(Atext);
    var B = parseFloat(Btext);
    var C_1 = parseFloat(Ctext_value1);
    var C_2 = parseFloat(Ctext_value2);
    form.Answer.value = ((B/C_1)-A)*C_2;
}

function Calculate2(Atext, Ctext_value2, Dtext, form)
{
    var A = parseFloat(Atext);
    var C_2 = parseFloat(Ctext_value2);
    var D = parseFloat(Dtext);
    form.Answer.value = D-((A*C_2)/1000);
}

しかし、両方の値を渡して正しく関連付ける方法がわかりませんか?

以下のコードは機能しますが、 に関連付けられた 2 つの値が明らかに欠落していinput_Cます。他の変更に加えて、に何か他のものを追加する必要があると確信していdocument.getElementById("input_C").valueます...

function compute() {
    var A = document.getElementById("input_A").value;   
    var B = document.getElementById("input_B").value;
    var C = document.getElementById("input_C").value;
    var D = document.getElementById("input_D").value;

    if (B != "" && D != "") {
        alert("You may only enter either an Assessment or Annual Taxes.");
    } else if (A =="" && B =="" && D =="") {
        alert("You must select your town, enter a Market Value, and either an Assessment or     Annual Taxes to calcuate..");
    } else if (C =="999") {
        alert("You must select your town.");
    } else if (A =="") {
        alert("You must enter a Market Value.");
    } else if (B != "" && C !="") {
        Calculate(A, B, C, document.getElementById("overtax"));
    } else if (D != "" && C !="") {
        Calculate2(A, C, D, document.getElementById("overtax"));
    } else {
        alert("You must select your town, enter a Market Value, and either an Assessment or     Annual Taxes to calcuate.");
   }
}

function Calculate(Atext, Btext, Ctext, form)
{
    var A = parseFloat(Atext);
    var B = parseFloat(Btext);
    var C = parseFloat(Ctext);
    form.Answer.value = ((B-A)*C)/1000;
}

function Calculate2(Atext, Ctext, Dtext, form)
{
    var A = parseFloat(Atext);
    var C = parseFloat(Ctext);
    var D = parseFloat(Dtext);
    form.Answer.value = D-((A*C)/1000);
}


<FORM NAME="Calculator" METHOD="post" id="overtax">
    <P>City/Town:
        <select name="input_C" id="input_C">
            <option value="999">Select Your City/Town</option>
            <option value="20.55">Acworth</option>
        </select>
    </P>
    <P>Market Value: <INPUT TYPE=TEXT NAME="input_A" id="input_A" SIZE=10     onblur="this.value=this.value.replace(/,/g,'')"> <span class="directions">Please enter what you believe your property is worth in today's market</span></P>
    <P>Assessment: <INPUT TYPE=TEXT NAME="input_B" id="input_B" SIZE=10 onblur="this.value=this.value.replace(/,/g,'')"> <span class="directions">Located on your property tax bill or assessment card</span></P>
    <P>OR</P>
    <P>Annual Taxes: <INPUT TYPE=TEXT NAME="input_D" id="input_D" SIZE=10 onblur="this.value=this.value.replace(/,/g,'')"> <span class="directions">Located on your property tax bill or assessment card</span></P>

    <P><INPUT TYPE="button" VALUE="Calculate" name="AddButton" onclick="compute();" /></P>
4

2 に答える 2

9

私が正しく理解している場合は、値の文字列を分割する必要があります

たとえば、このHTMLを指定します

<select id="mySelect">
   <option value="100,200">My Value</option>
</select>​

次に、これはあなたに値を与えるでしょう

var value = document.getElementById("mySelect").value;
var split = value.split(",");
var v1 = split[0];
var v2 = split[1];

例:jsfiddleを参照

ここsplitでの方法の詳細

于 2012-10-11T02:50:17.367 に答える