如何使用switch在jQuery中选中复选框?

时间:2011-07-09 11:14:31

标签: jquery

如果选中该复选框,我正在尝试使用switch(),但它不起作用。这里的探究是什么,我无法弄清楚。 你能帮忙吗? 这是我试过的

<input type="checkbox" class="che" value="1" />age
<input type="checkbox" class="che" value="2" />sex

$(".che").click(function(){


var chek= $(this).is(":checked") ;
alert(chek);
        switch(chek){
        case 1:
        alert ('ok');
        $('.myTableRow').show();
        break;
        case 2:
        alert('hora');
            $(".myTableRow").hide();
        break;
       }
    });

1 个答案:

答案 0 :(得分:1)

chek是一个布尔值。它永远不会等于2false相当于0true相当于1),因此永远不会达到case 2:

如果您想获取复选框的,则必须致电val()

$(".che").change(function(){
    var chek= $(this).val();
    alert(chek);
    switch(chek){
        case "1":
            alert ('ok');
            $('.myTableRow').show();
        break;
        case "2":
            alert('hora');
            $(".myTableRow").hide();
        break;
    }
});

但这种设置似乎不符合逻辑。如果选中这两个框会发生什么?它将始终执行上次选中的复选框的操作。

也许你只想要:

$(".che").change(function(){
    $('.myTableRow').toggle(this.checked); // or !this.checked
});

虽然这不是更好。

在实现任何逻辑之前,您必须考虑表单的工作方式。

参考: changetoggle