Php HTML下拉菜单添加自己的值

Php HTML下拉菜单添加自己的值,php,html,forms,drop-down-menu,Php,Html,Forms,Drop Down Menu,是否有可能有一个下拉菜单,您可以通过直接在下拉字段中键入来添加自己的值? 其思想是让数据库中的所有行都列在这个下拉菜单中,并且可以添加新行。 用于保存所有数据的php文件已准备就绪。 现在,我的下拉菜单代码如下所示: <select id="name" name="name" onChange="enableOther();" onFocus="enableOther()"> <option> </option> <option>N

是否有可能有一个下拉菜单,您可以通过直接在下拉字段中键入来添加自己的值? 其思想是让数据库中的所有行都列在这个下拉菜单中,并且可以添加新行。 用于保存所有数据的php文件已准备就绪。 现在,我的下拉菜单代码如下所示:

<select id="name" name="name" onChange="enableOther();" onFocus="enableOther()">
    <option> </option>
    <option>Neu</option>
    <?php
    while($row = mysql_fetch_object($ergebnis))     
{
    echo('<option>'.$row->Material.'</option>');
}
    ?>
</select>
<select name="name" ...>
    <option value=''>Custom (use text field)</option>
    ... etc ...
</select>
<input type='text' name='customName'>

我希望有任何解决方案可以解决我的问题…

这在HTML中本机不支持,但有许多JavaScript UI工具包提供可编辑的组合框小部件,或者您可以尝试自己用JS编写一个组合框小部件(基本上,使用带有自定义编码下拉列表的文本输入)

或者,一种简单的方法如下:

<select id="name" name="name" onChange="enableOther();" onFocus="enableOther()">
    <option> </option>
    <option>Neu</option>
    <?php
    while($row = mysql_fetch_object($ergebnis))     
{
    echo('<option>'.$row->Material.'</option>');
}
    ?>
</select>
<select name="name" ...>
    <option value=''>Custom (use text field)</option>
    ... etc ...
</select>
<input type='text' name='customName'>

自定义(使用文本字段)
... 等
然后在服务器端,如果name的提交值是空字符串,但customName的提交值不是空字符串,则使用customName。您还可以添加JavaScript,以便在用户适当更改选择框时启用/禁用customName字段

编辑:HTML5

顺便说一句,这在HTML5中是可能的,但并非所有浏览器都支持这一点:

<input list="suggestedNames" name="name">
<datalist id="suggestedNames">
  <option value="...">
  ...
</datalist>

...

似乎是您想做的事情的可能副本的副本?动态地将新选项(“通过直接在下拉字段中键入”)添加到选择输入或从数据库中读取选项?这是两件完全不同的事情。