如果选中该复选框,我正在尝试使用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;
}
});
答案 0 :(得分:1)
chek
是一个布尔值。它永远不会等于2
(false
相当于0
和true
相当于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
});
虽然这不是更好。
在实现任何逻辑之前,您必须考虑表单的工作方式。