javascript - 当只有一个选项时,显示选择列表中的所有选项不起作用

标签 javascript html css

我有一个网页,其中显示字符串列表(字符串是从 API 调用中获取的)。它们显示为选择/选项标签,我需要显示所有选项(它们不应该被隐藏)。为了使其成为可能,我在选择标记中指定了 size 属性。代码如下:

html:

<select size="2">
  <option value="1">1</option>
  <option value="2">2</option>
</select> 

CSS:

  select {
    overflow: auto;
    height: auto;
    background-color: #08112d;
    max-height: 300px;
  }
  option {
    font-size: 16px;
    color: #fff;
    padding: 1rem;
  }

example on fiddle which works

enter image description here

问题

如果列表中只有一个选项,则样式会被破坏,并且选择列表需要单击才能查看选项,这是我不想要的。如何解决?

example on fiddle which has broken styles

enter image description here

附注 我需要使用选择/选项标签,因为我需要它们的行为(例如可选择的选项以及使用向上箭头按钮 ⬆ 和向下箭头 ⬇ 选择选项的可能性)。所以我不能使用其他标签(除非您可以建议如何添加此类行为)。

最佳答案

我可以看到您损坏的示例的 HTML,如下所示:

<select size="1">
  <option value="1">1</option>
</select>

您可以尝试以下替代:

<select size="1" multiple>
  <option value="1">1</option>
</select>

如您所见in the following docs当使用多个时,它将大小设置为 4 个元素,但由于我们强制保留 1 个元素,所以它解决了问题

关于javascript - 当只有一个选项时,显示选择列表中的所有选项不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74603582/

相关文章:

javascript - 如何让汽车沿着路径行驶

javascript - 检查它是否是窗口对象

html - 水平形式而不是垂直形式

javascript - 函数式编程 : list conditional branching/filtering (Javascript)

javascript - html 输入 - 仅数字和覆盖模式

html - 为什么我的 CSS 没有在 textarea 上生效?

html - 无法将多行文本与容器的中间对齐

html - 使输入字段看起来像 bootstrap 3 中的表格单元格

javascript - 如何在 js 中获取被忽略的样式属性?

javascript 从字符串创建日期 取决于浏览器