2017-08-08 74 views
0

本部分使用複選框選擇您的臨時演員,一旦選擇了您的演示,您將進入下一步,它將在名爲checkout[itemname]的標題中顯示您的選擇。當選中一個複選框時,它會將變量從false更改爲true,但是我的代碼似乎沒有這樣做。在複選框條件下變量不會更改值

我將顯示用戶從附加列表中選擇「領帶領帶」的示例部分。

var hasNeckTie = false; 
 
if (hasNeckTie = true) { 
 
    document.getElementById("checkoutnecktie").innerHTML = "Neck Tie"; 
 
}
<div class="three columns bear"> 
 
    <h3>Matching Tartan Scarf (£2.50)</h3> 
 
    <label> 
 
    <input type="checkbox" autocomplete="off" name="scarf" id="scarf" value="2.5" /> 
 
    <img src="Images/Scarft.png"> 
 
    </label> 
 
    <p>Personalise your bear with a matching tartan scarf. It gets cold up here in Scotland, and this is the best way to keep your bear warm.</p> 
 
</div> 
 

 
<div id="checkoutnecktie"></div>

任何想法,爲什麼這段代碼運行不正常?

+0

首先,if條件中的'='應該是'==',但是你沒有'id =「checkoutnecktie」'...的元素? –

+0

'='運算符不檢查相等性,它是賦值運算符。爲了比較,使用'==='。 – PeterMader

+0

此外,'if(hasNeckTie = false)'應該是'if(hasNeckTie == false)' –

回答

0

在您的if聲明中,您使用的是=而不是==

您還試圖設置不存在的元素的HTML值。 document.getElementById("checkoutnecktie").innerHTML = "Neck Tie";

您需要將"checkoutnecktie"更改爲存在的元素ID。

+0

道歉。它確實存在,我只是沒有將它包含在我的代碼片段中,因爲我想要更多地關注IF條件。我沒有其他元素的HTML值,它工作正常,這只是我的複選框選擇過程,試圖找出 –

0

您需要勾選一個事件到複選框。 您可以用jQuery做到這一點,像這樣

$('#scarf').change(function(){ 
    if($(this).is(":checked")) { 
     $('#checkoutnecktie').text('Neck tie'); 
    } 
} 

也像其他的答案狀態,設置文本到一個真實存在的元素。