javascript - 根据所选选项更改显示

标签 javascript jquery html-select

我想用 jQuery 更改 2 个不同的 div 样式。当值为 div1 时,将显示 div1。当值为div2时,将显示div2。我想我不能用 jQuery 中的“if/else”来做到这一点。

 <style>
  #div1 { display: block; background-color: red; height:300px; width:300px;}
  $div2 { display: none; background-color: blue; height:300px; width:300px;}
  </style>

  <select id="divit">
    <option value="div1">div1</option>
    <option value="div2">div2</option>
  </select>
<script>
    function displayVals() {
      var divoneValues = $("#divit").val("div1");
      var divtwoValues = $("#divit").val("div2");
      $("#div1").css("display", "none");
       $("#div2").css("display", "block");
    }     
    $("select").change(displayVals);
    displayVals();         

</script>
<div id="div1"></div>
<div id="div2"></div>

</body>
</html>

最佳答案

这应该可以解决问题:

<style>
  #div1 { display: block; background-color: red; height:300px; width:300px;}
  #div2 { display: none; background-color: blue; height:300px; width:300px;}
</style>

<select id="divit">
    <option value="div1">div1</option>
    <option value="div2">div2</option>
</select>
<script>
    $("#divit").on('change', function() {
        var sel = $("select").val();
        if (sel=='div1') {
           $("#div1").css("display", "block");
           $("#div2").css("display", "none");
        }else if (sel=='div2') {
           $("#div1").css("display", "none");
           $("#div2").css("display", "block");
        }
    });     
</script>
<div id="div1"></div>
<div id="div2"></div>

FIDDLE

关于javascript - 根据所选选项更改显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8957284/

相关文章:

javascript - AngularJS 和 Youtube,视频播放完毕后调用脚本

javascript - 使用 canvas 和 filereader 将 svg 转换为 png

python - 让 Selenium 选择特定的下拉菜单 PYTHON3

jquery - 隐藏范围之间的增量值

javascript - 当鼠标移动到覆盖元素的东西时不要触发 onmouseout

jquery - 从克隆的选择选项中删除 "selected"属性在 IE 中不起作用

javascript - jquery 获取自动编号的输入值并从中创建选择框

javascript - 不显示计算结果

javascript - 地铁用户界面 CSS : How to achieve class ="active" effect?

javascript - 删除特定的事件处理程序