【问题标题】:How to get all values in the <option>? [closed]如何获取 <option> 中的所有值? [关闭]
【发布时间】:2021-09-02 13:16:01
【问题描述】:

如果我选择 ALL-of-the-ABOVE 选项,有没有办法从数据库中加载

<select id="cars">
 <option value="Volvo">Volvo</option>
 <option value="Saab">Saab</option>
 <option value="Opel">Opel</option>
 <option value="Audi">Audi</option>
 <option value="All">All of the Above</option>
</select>

提前谢谢你。 :)

顺便说一下,我的实际代码是这样的:

<select name="exam_class_id" id="exam_class_id" class="form-control" required>
<option value="">Select Class</option>
<?php
foreach($result as $row)
{
echo '
<option value="'.$row["class_id"].'">'.$row["class_name"].'</option>
';
}
?>
</select>

我有点希望它有一个来选择所有课程。

【问题讨论】:

  • 这能回答你的问题吗? How can I get a list of all values in select box?
  • 你能澄清loaded from a database的意思吗?如果提交了All,这听起来可能是表单提交上的一些服务器端逻辑来获取所有其他值。
  • 我的意思是将显示的 来自一个数据库,我希望它有一个

标签: php html


【解决方案1】:

浏览器只会发送选择的值(“All”),所以在正常情况下你无法从请求中获取它们。

解决此问题的常用方法是让 PHP 在生成包含 &lt;select&gt; 元素的 HTML 时,从其获取值的任何位置获取值列表。

通常这将是一个数据库,如果您已将它们硬编码到 HTML 中,您应该考虑将它们移动到数据库(或者至少是共享 include 中的一个数组)。 …但是你已经说过它们已经在数据库中了,所以你可以把生成 HTML 的现有代码抄录下来。


更糟糕的方法是将它们添加到请求中。

例如

<option value="Volvo,Saab,Opel,Audi">All of the Above</option>

或作为隐藏输入。

这可以通过 JS(它可以读取未选择的 option 元素来执行此操作)或 PHP 动态完成。

【讨论】:

  • 嗨先生,我已经编辑了我的问题并添加了我的实际代码。谢谢你的回答先生。
【解决方案2】:

试试这段代码 sn-p 你可以使用 implode 来完成这项工作

<select name="exam_class_id" id="exam_class_id" class="form-control" required>
<option value="">Select Class</option>
<?php
foreach ($result as $row) {
    echo ' <option value="' . $row["class_id"] . '">' . $row["class_name"] . '</option> ';
}
?>
<option value="<?= implode(',', $result) ?>">All</option></select>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-10-13
    • 1970-01-01
    • 2020-08-18
    • 1970-01-01
    • 2022-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多