首页 > 解决方案 > 我只想一次改变“改变”

问题描述

所以:我一直试图只进行一次 onchange 更改,因为我希望对象在第一次更改后出现在屏幕上,并留在屏幕上:

<select required name="Tamanho" style="margin-top: 10px;margin-bottom: 10px;font-family: bebas_kairegular;font-size: 26px;" onchange="button();">
    <option value="tamanho" selected disabled id="tamanho">Escolha um tamanho</option>
    <option value="P">P</option>
    <option value="M">M</option>
    <option value="G">G</option>
</select>

<div id="button" ><button type="button" onclick="cartClick()" style="font-size: 26px;">Comprar</button></div>

并使用此 javascript 函数在页面上显示 div

  function button() {
  var p = document.getElementById("button");
  if (p.style.display === "none") {
    p.style.display = "block";
  } else {
    p.style.display = "none
  }
 }
button();

我不知道该怎么做才能得到我想要的。请帮帮我?

谢谢你!

标签: javascripthtmlcssif-statementonchange

解决方案


如果我理解正确,您希望在选择第一个项目后显示按钮,然后保持可见。如果这是正确的,请参阅下面使用您的代码的示例。您不需要else代码中的部分,我添加display: none#button.

function button() {
  var p = document.getElementById("button");
  if (p.style.display === "none") {
    p.style.display = "block";
  }
 }
<select required name="Tamanho" style="margin-top: 10px;margin-bottom: 10px;font-family: bebas_kairegular;font-size: 26px;" onchange="button();">
    <option value="tamanho" selected disabled id="tamanho">Escolha um tamanho</option>
    <option value="P">P</option>
    <option value="M">M</option>
    <option value="G">G</option>
</select>

<div id="button" style="display:none"><button type="button" onclick="cartClick()" style="font-size: 26px;">Comprar</button></div>


推荐阅读