根据用户选择动态显示文本框或下拉列表

时间:2017-08-06 04:46:37

标签: javascript jquery html typescript

在我的html页面中,我有一个包含2个值的下拉列表 - 名称和性别

如果用户选择'名称'在下拉列表中,然后显示一个文本框(默认控件)以允许输入自由流动的文本。

但是,如果用户选择'性别'在下拉菜单中,会显示一个下拉菜单,允许用户从2个值中选择 - 男性和女性。

基本上我需要在文本框和Typescript / Javascript中的下拉列表之间开发切换功能来实现这一点。由于我对Javascript的了解有限,我尝试了多种解决方案而没有任何成功。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

一个简单的演示:



$("#switch").change(function () {
  switch($("#switch").val()) {
    case "name":
      $("#name-input").css("display", "inline")
      $("#gender-dropdown").css("display", "none")
      break
    case "gender":
      $("#name-input").css("display", "none")
      $("#gender-dropdown").css("display", "inline")
      break
    default:
      $("#gender-dropdown").css("display", "none")
      $("#name-input").css("display", "none")
  }
})

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="switch">
<option value="unknown"></option>
<option value="name">Name: </option>
<option value="gender">Gender: </option>
</select>
<span id="name-input" style="display:none"><input type="text" id="name"></span>
<span id="gender-dropdown" style="display:none">
<select id="gender">
<option></option>
<option>Male</option>
<option>Female</option>
</select></span>
&#13;
&#13;
&#13;