HTML选择+限制可见选项的数量

Ada*_*dam 12 html select

在此输入图像描述

我在图表中显示了加入日的选择.它显示20个可见日,并且21到31不可见,但您可以向下滚动到它们.由于页面的布局,选择上升而不是下降 - 看起来很奇怪.

考虑到这一点,我可以将可见选择选项的数量限制为10吗?例如:显示01到10并且隐藏了11到31但可供选择.

可以这样做吗?

谢谢

小智 9

实际上有一点hack可以实现选择SELECT TAG中显示的项目数量的奇怪缺乏可能性.

1 -

假设我们想要一个SELECT显示最多10个项目.将以下js事件添加到SELECT TAG将实现此目标:

onfocus='this.size=10;' 
onblur='this.size=1;' 
onchange='this.size=1; this.blur();'
Run Code Online (Sandbox Code Playgroud)

这将欺骗你的SELECT给它所需的效果,把它变成一个大小的SELECT.

2 -

假设在某一点上我们想要显示的项目少于最多10项.

假设您从SQL查询中获取SELECT,您可以执行以下操作:一旦知道查询有多少行,就可以在循环中包含下一句

if($nRow<10){
  $nRowSelect=$nRow+1;
}
else{
  $nRowSelect=10;
}
Run Code Online (Sandbox Code Playgroud)

因此,如果每个循环中少于10行,则分配它将要显示的所需行数.

onfocus='this.size=$nRowSelect;' 
onblur='this.size=1;' 
onchange='this.size=1; this.blur();'
Run Code Online (Sandbox Code Playgroud)

3 -

越野车行为取代元素.由于这个hack用一个'size'替换了一个普通的SELECT,它需要占用内容所需的空间,而不是像下面的内容重叠的常见SELECT.为了防止这种情况发生,如果要放置SELECT,让我们说到TD TAG,你可以先将它放在一个具有以下风格的DIV中:

position:absolute;
z-index:1;
Run Code Online (Sandbox Code Playgroud)

这将使大小的SELECT与其下方的内容重叠,就像它是一个常见的SELECT一样.


ijs*_*jse 5

添加属性size<select>:

<select style=" width:100px;" size="2">
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    <option value="4">4</option>
</select>
Run Code Online (Sandbox Code Playgroud)

  • 这会导致选择元素变成一次显示 2 个项目且没有下拉菜单的微调器。 (2认同)