首页 文章

根据以前的选项自动选择HTML隐藏选项值

提问于
浏览
2

我有2个选择标签,它们有相同的选项,男性和女性 . 其中一个 select ,"age"被隐藏了 .

<select name="gender">
    <option value="1">Male</option>
    <option value="2">Female</option>
</select>

<select name="age" style="display:none;">
    <option value="12">Male</option>
    <option value="18">Female</option>
</select>

当用户在“性别”中选择“男性”时,我希望“年龄”也会自动选择“男性” . 我期待与“女性”相同的事情 . 如何通过javascript实现这一目标?

2 回答

  • 0

    您可以将事件 change 附加到选择 gender ,并在每次更改时设置 age 的值 .

    请注意,对于最终用户不选择任何内容的情况,应该使用默认选定值加载这两个元素,并检查是否最好将内联样式 style="display:none;" 移动到单独的css文件中 .

    码:

    var gender = document.getElementsByName('gender')[0],
        age = document.getElementsByName('age')[0];
    
    gender.addEventListener('change', function() {
      age.value = (gender.value == 1) ? 12 : 18;
    
      console.log('Gender:', gender.value);
      console.log('Age:', age.value);
    });
    
    <select name="gender">
      <option value="1">Male</option>
      <option value="2">Female</option>
    </select>
    
    <select name="age" style="display:none;">
      <option value="12">Male</option>
      <option value="18">Female</option>
    </select>
    
  • 0

    这是使用jQuery的选项 .

    $(document).ready(function() {
      $("#age").val("12");
      $("#gender").change(function() {
        var userselected = $(this).find(':selected').text();
        if (userselected == "Male") {
          $("#age").val("12");
        } else {
          $("#age").val("18");
        }
      });
    });
    
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <select name="gender" id="gender">
      <option value="1">Male</option>
      <option value="2">Female</option>
    </select>
    <select name="age" style="display:inherit;" id="age">
      <option value="12">Male</option>
      <option value="18">Female</option>
    </select>
    

相关问题