2017-07-03 55 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

你的代碼的問題是,你正在使用assignement operator =,而不是comparison 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

謝謝你!現在明白了 :) –