首页 > 解决方案 > 如何根据选择更新 div?

问题描述

我想,当用户在 HTML 中选择一个选项时,我会在另一个 div 上显示 Block。

我将函数 OpenAskuser() 放在一个按钮中,但也不起作用。它会更好,没有按钮。就在用户选择“是”选项时。显示=块

谢谢社区!!

function OpenAskuser() {
  var select = document.getElementById("imputYesNo");
  
  if (select.value === "Yes") {
    document.getElementById("AskUser").style.display === "block"
  }
}
<p class=title-box-input>Are you member?</p>

<select name="imputYesNo" class=box id="imputYesNo">
  <option value="category-default" selected>Choose</option>
  <option value=Yes>Yes</option>
  <option value="no">No</option>
</select>

<br>

<div class=user-yes id=AskUser style=display:none;>
  <p class=title-box-input>Ok, then what is your nickname?</p>
  <textarea type="text" class=box> </textarea>
</div>

标签: javascripthtmlformsoptionsselected

解决方案


您需要附加一个change调用该函数的侦听器。

另外,document.getElementById("AskUser").style.display === "block"是一个比较。=改为使用为属性分配值:

function OpenAskuser() {
  var select = document.getElementById("imputYesNo");
  if (select.value === "Yes") {
    document.getElementById("AskUser").style.display = "block";
  }

}
<p class=title-box-input>Are you member?</p>
<select name="imputYesNo" class=box id="imputYesNo" onchange="OpenAskuser()">
  <option value="category-default" selected>Choose</option>
  <option value=Yes>Yes</option>
  <option value="no">No</option>

</select>

<br>

<div class=user-yes id="AskUser" style=display:none;>
  <p class=title-box-input>Ok, then what is your nickname?</p>
  <textarea type="text" class=box> </textarea>
</div>


推荐阅读