jquery 如何修复这个JavaScript switch语句问题,switch语句不工作[关闭]

mfpqipee  于 2023-11-17  发布在  jQuery
关注(0)|答案(4)|浏览(153)

**已关闭。**此问题不符合Stack Overflow guidelines。目前不接受回答。

4年前关闭。

Improve this question
我试图从选择列表中获取geteletbyid并将所选值存储在变量中。并试图对该值执行switch case(geteletbyid)。但switch对该变量不起作用。value成功获取,但switch不起作用,即使IF else也不对该变量起作用。
我也试过typecast,但它不工作。

<select id="from">
  <option value="1">car 1</option>
  <option value="2">car 2</option>
  <option value="3">car 3</option>
</select>

个字符
switch应该针对switch变量执行相应的case

jyztefdp

jyztefdp1#

由于大括号的位置,您的switch结构格式不正确。删除这些&您的switch应该可以工作:

<script>
    var b = document.getElementById("from").value;
    var c = Number(b); //type casting ... didnt helped in working with switch

    switch (b) {
      case '1':
          alert("i am case 1");
      case '2':
          alert('i am case 2');
          break;
      default:
          alert("i am default");
          break;
    }
</script>

字符串
或者,将case '2'部分移出case '1'

<script>
    var b = document.getElementById("from").value;
    var c = Number(b); //type casting ... didnt helped in working with switch

    switch (b) {
      case '1':
        {
          alert("i am case 1");
        }
      case '2':
        {
          alert('i am case 2');
          break;
        }
      default:
        {
          alert("i am default");
          break;
        }
    }
</script>

0sgqnhkj

0sgqnhkj2#

c是一个数字-它是字符串b的解析数字。所以像这样检查数字c

case 1:
    //Code
case 2:
    //Code
default:
    //Code

字符串

50few1ms

50few1ms3#

这里不需要switch语句。这样可以降低代码复杂度。

  • 也不需要使用Number,因为这里没有任何数值运算

代码:

document
  .getElementById('from')
  .addEventListener('change', function() {
    alert(`i am case ${this.value}`)
  });

个字符
请注意,在示例中,我添加了Event​Target​.add​Event​Listener()以在更改时显示警报。

x3naxklr

x3naxklr4#

您对开关ref https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/switch犯了语法错误

document.getElementById("from").addEventListener('change', function(e) {
 var b = document.getElementById("from").value;
 var c = Number(b); //type casting ... didnt helped in working with switch

 
switch (b) {
  case '1':
            alert("i am case 1");
            break;
      case '2':
            alert('i am case 2');
            break;

  default:
      alert("i am default");
      break;
  
}
}, false);

个字符

相关问题