限制由php填充的下拉菜单调度的选项数量

时间:2017-06-29 15:45:05

标签: php jquery html css

我有一个下拉菜单如下:

   <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">,但是下拉列表的设计完全改变了,非常糟糕。 在没有改变设计的情况下,你有一个简单的方法吗?

感谢您的时间

2 个答案:

答案 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>";
} ?>