2017-07-03 10 views
1

価格は、選択したチェックボックスによって異なります。 (つまり)2組のチェックボックスにはそれぞれ3つの値があります。 rpiceを選択された値に依存して、読み取り専用の入力選択したチェックボックスに基づいて価格を変更したい

if (document.getElementById("sedan").checked = true && document.getElementById("chtiru").checked = true) { 
    $("#trip_cost").val("2000"); 
} else if (document.getElementById("Premiumx").checked = true && document.getElementById("chtiru").checked = true){  
    $("#trip_cost").val("3000"); 
} else if (document.getElementById("Force").checked = true && document.getElementById("chtiru").checked = true){  
    $("#trip_cost").val("3050");  
} else { 
    $("#price").val(""); 
} 
+8

'='値を設定するために使用されます。値を比較するには、 '=='または '==='を使う必要があります。私はタイプミスとしてこれを閉じるために投票しています。 'checked'プロパティはブール値であるため、演算子は必要ありません。 –

+0

' document.getElementById( "Premiumx")ではなくブール値でchecked == true'を書いても問題ありません.getElementById( "Premiumx")。checked'、それが 'true'かどうかをチェックするのに十分です。 –

答えて

1

にされるであろう変更する必要がありますあなたのコードの問題は、あなたの代わりにcomparison operator ==assignement operator =を使用しているということなので、最初の条件は常にtrueになります。

ブール値の場合はif(document.getElementById("Premiumx").checked)と書いてください。== trueを書く必要はありません。

これはあなたのコードがどうあるべきか:

if (document.getElementById("sedan").checked && document.getElementById("chtiru").checked) { 
    $("#trip_cost").val("2000"); 
} else if (document.getElementById("Premiumx").checked && document.getElementById("chtiru").checked){  
    $("#trip_cost").val("3000"); 
} else if (document.getElementById("Force").checked && document.getElementById("chtiru").checked){  
    $("#trip_cost").val("3050");  
} else { 
    $("#price").val(""); 
} 
+0

ありがとう!それは今:) –

関連する問題