javascript 带选择框的多个选择框[已关闭]

o7jaxewo  于 2023-05-05  发布在  Java
关注(0)|答案(1)|浏览(144)

**关闭。**此题需要debugging details。目前不接受答复。

编辑问题以包含desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem。这将帮助其他人回答这个问题。
11个月前关闭。
Improve this question
我想选择项目及其数量。该项目已经在数据库中,所以它会在复选框中看到,我想添加相应的数量,我不知道如何实现。如果有比这更好的方法,请回答我。
例如:多个选择框包含
苹果,香蕉,樱桃
我也想选择数量

apple  >>>> quantity 2

 cherry >>>> quantity 3

举例回答

7hiiyaii

7hiiyaii1#

这个有用吗

const sel = document.getElementById("item");
const qtyDiv = document.getElementById("qtyDiv");
const qtys = qtyDiv.querySelectorAll("label");
const show = () => {
  const vals = [...sel.options].filter(option => option.selected).map(option => option.value);
  console.log(vals)
  qtys.forEach(qty => {
    qty.style.visibility = vals.includes(qty.id) ? "visible": "hidden";
  })  
};
sel.addEventListener("click",show)
show()
#parent {
  display: flex;
}

.narrow {
  width: 200px;
  height: 150px
  background: lightblue;
}

.wide {
  flex: 1;
  /* Grow to rest of container */
  background: lightgreen;
  /* Just so it's visible */
}

.wide label {
  display: block;
  visibility: hidden;
}

#item {   height: 50px; border: none; }
<div id="parent">
  <div class="narrow">
    <select id="item" multiple size="2">
      <option value="apple">Apples</option>
      <option value="banana">Bananas</option>
    </select>
  </div>
  <div id="qtyDiv" class="wide">
    <label id="apple">How many apples?<input type"number" name="apples" /></label>
    <label id="banana">How many bananas?<input type"number" name="bananas" /></label>
  </div>
</div>

相关问题