2017-08-08 15 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

イベントをチェックボックスにフックする必要があります。 あなたはとても

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

また、他の回答の状態などのようにjQueryを使ってこれを行うことができ、存在する要素にテキストを設定します。

関連する問題