2014-10-03 42 views
1

我正在创建一个网站,我希望不同的div显示取决于复选框的组合。我需要知道如何在switch语句中引用复选框的类。这是迄今为止我所拥有的。有关我如何使其工作的任何建议?在switch语句中使用复选框

我试图用“class”来指代复选框的类。例如,如果我点击checkbox3,checkbox1已经点击,我想div2出现。如果checkbox1没有被点击,我想div4出现。

$ (".checkbox3").click(function(){  
switch ($('input:checkbox:checked').attr('class')) { 
    case ".checkbox1" && ".checkbox2": 
    $(".div1").fadeIn("slow"); 
    break; 
    case ".checkbox1": 
    $(".div2").fadeIn("slow"); 
    break; 
    case ".checkbox2": 
    $(".div3").fadeIn("slow"); 
    break; 
    default: 
    $(".div4").fadeIn("slow"); 
    break; 
    } 
    }); 

下面是它引用的HTML代码。

<form> 
<input type="checkbox" id="redcheck" class="checkbox1"> 
<input type="checkbox" id="greencheck" class="checkbox2"> 
<input type="checkbox" id="bluecheck" class="checkbox3"> 
</form> 
<div class="div1"></div> 
<div class="div2"></div> 
<div class="div3"></div> 
<div class="div4"></div> 

任何帮助将是非常有益的!谢谢!

+0

把你的html代码也 – Khamidulla 2014-10-03 16:40:52

+0

你想用'$(“class”)'部分做什么? – 2014-10-03 16:42:15

+4

而且一般来说,你能澄清你的问题吗?我现在读了三遍,恐怕我不知道你真的想做什么。 – 2014-10-03 16:43:28

回答

1

您可以参考选中的复选框jQuery中如下:

$('input:checkbox:checked') 

你可以做的是这样的:

$ (".checkbox3").change(function(){  
    var val=''; 

    if($(this).is(':checked')) { 

     $.each($('input:checkbox:checked:not(.checkbox3:checkbox)'), function(index) { 
      val += '.' + $(this).attr('class');   
     }); 

     switch (val) { 
      case '.checkbox1.checkbox2': 
       $(".div1").fadeIn(400); 
       console.log('case 1'); 
       break; 
      case '.checkbox1': 
       $(".div2").fadeIn(400); 
       console.log('case 2'); 
       break; 
      case '.checkbox2': 
       $(".div3").fadeIn(400); 
       console.log('case 3'); 
       break; 
      default: 
       $(".div4").fadeIn(400); 
       console.log('case 4'); 
       break; 
     } 
    } else { 
     $('div[class*="div"]').hide(); 
    } 
}); 

这里是link to fiddle

+0

感谢您的帮助。你会碰巧知道我可以参考复选框的类吗? – 2014-10-03 17:04:15

+0

@YvonneQiao在小提琴淡入淡出动画不工作在我的浏览器。它在你的情况下工作吗? – Khamidulla 2014-10-03 17:46:08

+0

是的,小提琴褪色在​​我将显示设置为无时动画正在工作。谢谢。我正试图将这个实现到更复杂的代码字符串中,并且遇到了一些问题。但这绝对有帮助! – 2014-10-03 18:11:21