私は、次の機能があります:SelectedVal
が2021のときswitch文が複数のケースを実行するのはなぜですか?
$("#drpType").change(function() {
var SelectedVal = this.value;
switch (SelectedVal) {
case "2021":
console.log('a');
console.log('b');
case "2020":
console.log('a');
case "ADB":
console.log('b');
case "PWP":
console.log('c');
}
}
なぜ、それがa,b,a,b,c
を印刷していますか?
jsfiddleにシナリオを作成しました。今私はあなたに私の質問を理解することができます。 2021
を選択すると、2 divを返します。 switch文がfall-thoughtに基づいているのであれば、それでなぜEFGH
を選択した場合、3つで1つのdivしか表示されないのでしょうか?
<select id="drpQuotaType" >
<option value="0">Select</option>
<option value="2021">2021</option>
<option value="2020">2020</option>
<option value="ABCD">ABCD</option>
<option value="EFGH">EFGH</option>
</select>
<div id="dv1" style="display:none">Div 1 </div></br>
<div id="dv2" style="display:none">Div 2 </div></br>
<div id="dv3" style="display:none">Div 3 </div></br>
<div id="dv4" style="display:none">Div 4 </div>
$("#drpQuotaType").change(function() {
var SelectedVal = this.value;
$('#dv1').hide();
$('#dv2').hide();
$('#dv3').hide();
switch (SelectedVal) {
case "2021":
$('#dv1').show();
$('#dv2').show();
case "2020":
$('#dv2').show();
case "ABCD":
$('#dv2').show();
case "EFGH":
$('#dv3').show();
}
});
:
は最後に、ここにあなたのコードがどのように見えるかですOPはbreak'文がのためにあるか '理解している場合にのみ誤植です。開始するときは、 'break'文が必要ないと考えるのが妥当です。 –
@MikeCはいいいえ。それぞれのケースの後に改行する必要があります。 – SAL
両方の回答を評価した場合、申し訳ありませんが、正しいと思います。また、私はMike Cに同意します。いくつかの言語は休止せずに "落ちる"、if文のような他の言語は最初の成功の道をたどって機能します。それは '矛盾する'スタイルの間で人を混乱させる可能性があります。 –