-1

大家好,当一个选项按钮选择另一个选项按钮出现时,我正在尝试做。It works but when the other option button is selected I wanna display text but it does not work here is my code:

<html>
  <head>
    <script type="text/javascript" src="http://code.jquery.com/jquery-1.4.4.js"></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>
4

1 回答 1

1
  • 使用当前版本的 jQuery。
  • 是的,你不应该嵌套你的if- 语句
  • option元素永远不会有“ selected”属性。当您选择某些内容时,不会更改属性,只会更改 DOM 对象的属性。改为使用.prop()
  • 根本不检查option元素的选择性(除非您有多选),只需使用元素的value属性(使用 jQuery)。select.val()
  • 不要使用document.write. 一旦加载文档(完全解析),这将用新的文档覆盖当前文档。并且您的代码在 DOMready 上执行,甚至在用户事件上也是如此
  • 一旦第一个条件匹配,您就想更改公式。这没关系,但你不能指望新表单已经选择了一些值 - 你再次需要挂钩一个change事件
于 2012-09-10T11:37:13.610 回答