javascript - Jquery 选择选项不适用于 switch 和 case

标签 javascript jquery select switch-statement background-color

我尝试创建一个选择,您可以选择颜色来更改背景。我想用 switch 和 case 来完成这个任务,但它似乎不起作用。

这是我的 html:

<select id="categorie">
    <option value="1">blue</option>
    <option value="2">red</option>
    <option value="3">green</option>
</select>

这是我的 jquery:

$('#categorie').change(function(){

 var val = $(this).val();

switch (val) {
    case 1: $("#categorie").val( 1 );

    $('body').css('background-color','blue')
    break;
    case 2: $("#categorie").val( 2 );
    $('body').css('background-color','red')
    break;
    case 3: $("#categorie").val( 3 );
    $('body').css('background-color','green')
    break;}
});

最佳答案

您需要使用parseInt,因为.val()函数默认返回字符串值。

因此将您的代码更改为

 var val = parseInt($(this).val(), 10);

DEMO

关于javascript - Jquery 选择选项不适用于 switch 和 case,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20299298/

相关文章:

javascript - 如何在jquery中操作具有所有条件的复选框

mysql - #1248 - 每个派生表都必须有自己的别名

javascript - Node : name collision on required files

javascript - 在下划线中连接两个数组的最佳方法

Javascript 代码效率

javascript - charCodeAt 给出错误的 charCode

javascript - 如何将 Ajax URL 中的两个变量传递给 codeigniter Controller ?

javascript - 使用 Capybara 检测 javascript 事件处理程序

mysql - 选择下一个和上一个顺序不合逻辑

css - 如何在 CSS 中更改默认的蓝色选择选项颜色