JS开关情况不能正常工作总是默认执行 [英] JS Switch case not working correctly always default is executed

查看:118
本文介绍了JS开关情况不能正常工作总是默认执行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这是我的下拉菜单---

This is my drop down menu ---

<select name="category" id="category" onChange="showDiv(this.value);" >
    <option value="">Select This</option>
    <option value="1">Nokia</option>
    <option value="2">Samsung</option>
    <option value="3">BlackBerry</option>
    <option value="4">Spice</option>
    <option value="5">HTC</option>
    </select>

这是我的span class,我想根据选择显示数据

This is my span class where i want to show the data on the basis of selection

<span class="catlink"> </span>

我的JS函数(尽管当我通过 if conditions)

My JS Function (although the function is working fine when i am doing it through if conditions)

function showDiv(discselect) {
    switch(discselect) {
    case 1:
        document.getElementsByClassName("catlink")[0].innerHTML = '<a href="nokia.txt">Click To Download</a>';
        break;
    case 2:
        document.getElementsByClassName("catlink")[0].innerHTML = '<a href="samsung.txt">Click To Download</a>';
        break;
    case 3:
        document.getElementsByClassName("catlink")[0].innerHTML = '<a href="blackberry.txt">Click To Download</a>';
        break;
    default:
        alert(discselect);
        document.getElementsByClassName("catlink")[0].innerHTML = 'aaaa';
    }
}

现在每次运行默认情况下的代码执行,而1,2,3仍然警觉,让我知道我做错了什么,而我的逻辑滞后?

Now on running the code each time the default case gets executed whereas 1,2,3 is still alerting, let me know what i am doing wrong and whr my logic lags??

推荐答案

您的discselect会以字符串的形式出现,所以您需要将您的情况更改为:

Your discselect is coming across as a string..so you need to change your case to:

switch ( discselect ){
  case '1':
    break;
  case '2':
    break;
  case '3':
    break;
  default:
    alert(discselect);
  }
}

这篇关于JS开关情况不能正常工作总是默认执行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆