javascript - 如何将嵌套 if 用于多个选择选项?

标签 javascript jquery html

大家好,我正在尝试做当用户选择一个选项时,将出现另一个选项。是的,我做到了,但是当用户选择其他选项时,我想显示文本,但它在这里不起作用是我的代码:

<html>
  <head>
      <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script></script>
    <script type="text/javascript">
      $(document).ready(function() {

        $(".select-box").change(function() {
          if ($(".select-box option[value='3']").attr('selected')) {
           document.getElementById("demo").innerHTML="<select class='select-box'><option value='4'>a</option><option value='5'>b</option></select>";
          if ($(".select-box option[value='5']").attr('selected')) {
          document.write("Hello")
          }
          }

        }); 

      });
    </script>
  </head>
  <body>
    <select class="select-box">
      <option>Select an option</option>
      <option value="1">no alert</option>
      <option value="2">no alert too</option>
      <option value="3">alert</option>
    </select> 
    <p></br>
    <div id="demo"></div>

  </body>
</html>

最佳答案

您需要使用 jQuery 的 on() 函数,因为您想要将事件处理程序添加到第二个选择中,它是动态添加到 DOM 中的。

$(document).ready(function() {

    $('#main').on('change', '.select-box', function() {

        if ($(this).val() == 3) {
            $('#demo').html("<select class='select-box'><option value='4'>a</option><option value='5'>b</option></select>");
        }

        if ($(this).val() == 5) {
            alert("Hello");
        }
    });

});​

参见 DEMO .

我已经用 div 包装了您的元素,并将更改处理程序附加到它。

另请注意,我已将您的 javascript getElementById 替换为 jQuery 选择器,并且简化了您的值检查。

关于javascript - 如何将嵌套 if 用于多个选择选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12351069/

相关文章:

javascript - 在 jquery 的 $.get 回调函数中使用文件名

javascript - jQuery Ajax 错误 - 堆栈跟踪

php - 使用 $.ajax 向 PHP 传递数据会使 $_POST 为空

html - CSS,容器高度比预期的要小,有什么办法解决吗?

javascript - 根据点击次数增加值(value)

javascript - 从 android 调用 javascript 函数

javascript - 是否可以在 url 路径的参数值中发送特殊字符?

2d - 我需要一个用于 JavaScript 的 2D 骨骼引擎

Javascript - 在页面完成初始化后应用 CSS

javascript - jquery onclick 事件不起作用