2012-01-06 72 views
2

如果选中:#instructions-bar将会激活。 如果未选中:#指令条不会启动。JQuery - 如果勾选复选框,则运行函数

什么是最好的方式来完成这种情况下的声明..我知道多个如果然后声明不会是最好的方式。基本上,我想隐藏每种情况下的#指示条。不是整个开关。

<p><input type="checkbox" id="unique-checkbox-name" name="enable-checkbox"/>Checkbox</p> 

$("select[name=map-tool]").change(function (e) { 
    var currVal = $(this).val(); 
    switch (currVal) { 
     case "navigation": 
      // instructions bar HIDE 
      $('#instructions-bar').slideUp('slow'); 
      // more code 
      break; 
     case "distance": 
      // instructions bar SHOW 
      $('#instructions-bar').slideDown('slow'); 
      // more code 
      break; 
     case "area": 
      // instructions bar HIDE 
      $('#instructions-bar').slideUp('slow'); 
      // more code 
      break; 
    } 
}); 

回答

2
$("select[name=map-tool]").change(function (e) { 
    var currVal = $(this).val(); 
    var isChecked = $("#unique-checkbox-name").is(":checked"); 
    switch (currVal) { 
     case "navigation": 
      // instructions bar HIDE 
      if (isChecked) $('#instructions-bar').slideUp('slow'); 
      // more code 
      break; 
     case "distance": 
      // instructions bar SHOW 
      if (isChecked) $('#instructions-bar').slideDown('slow'); 
      // more code 
      break; 
     case "area": 
      // instructions bar HIDE 
      if (isChecked) $('#instructions-bar').slideUp('slow'); 
      // more code 
      break; 
    } 
}); 
+0

谢谢。即使未检查,这是否允许案例开关运行?困惑。我只需要显示说明栏的if语句,而不是其他的。 – user1040259 2012-01-06 01:42:41

+0

对不起,我没有意识到这是你要求的。我相应地更新了我的答案。 – 2012-01-06 02:20:44

相关问题