我有一个下拉菜单如下:
<select onchange="random_function()" id='choice' >
<option selected="selected" >
Make a choice
</option>
</select>
我通过<select>
标记内的php请求填充它,如下所示:
<?php
include 'config.php';
$query = $pdo->query('
SELECT choices
FROM allTheChoices'
);
while ($row = $query->fetch()){
echo "<option>".$row['choices']."</option>";
}
?>
目前,我的数据库尚未完成,我只有2个选项可供展示,但将来会有很多(100 +)。
我的目标是找到一种方法让select只显示10个选项,它应该显示一个滚动条以查看所有剩余的选项。
我已经尝试过使用<select size="10">
,但是下拉列表的设计完全改变了,非常糟糕。
在没有改变设计的情况下,你有一个简单的方法吗?
感谢您的时间
答案 0 :(得分:1)
使用这段代码来实现我想要的目标:
<select style="position:absolute;" onmousedown="if(this.options.length>8)
{this.size=8;}" onchange='this.size=0;' onblur="this.size=0;" >
确保在选择选项时使用以下内容以避免扩展容器div:
style="position:absolute;"
并使用您要显示的选项数编辑以下代码(在此示例中使用10):
onmousedown="if(this.options.length>10){this.size=10;}"
所以我使用的整个HTML代码是:
<select style="position:absolute;" onmousedown="if(this.options.length>8)
{this.size=8;}" onchange='this.size=0;' onblur="this.size=0;" >
<option selected="selected" >
Make a choice
</option>
</select>
答案 1 :(得分:0)
尝试在SQL语句中使用限制,如下所示:“LIMIT 10”。
这就是代码的外观:
<?php
include 'config.php';
$query = $pdo->query('
SELECT choices
FROM allTheChoices
LIMIT 10'
);
while ($row = $query->fetch()){
echo "<option>".$row['choices']."</option>";
} ?>