2013-04-23 2 views
1

Есть ли возможность иметь раскрывающееся меню, в котором вы можете добавить собственное значение, введя его непосредственно в раскрывающееся поле? Идея состоит в том, чтобы все строки в базе данных были представлены в этом раскрывающемся меню и имели возможность добавить новую строку. php-файл для сохранения всех данных уже работает. RightNow моего код-понижающего раскрывающегося меню выглядит следующим образом:HTML dropdownmenu добавление собственного значения

<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> 

я надеюсь, что есть какое-либо решение моей проблемы ...

+0

Кажется дубликат Http: // StackOverflow. com/questions/8180890/drop-down-with-free-input –

+0

Возможный дубликат [Как создать редактируемый комбинированный блок в HTML/Javascript?] (http://stackoverflow.com/questions/3052130/how-can -i-create-an-editable-combo-box-in-html-javascript) – Quentin

+0

Что вы хотите сделать? Динамически добавлять новые параметры («путем ввода его непосредственно в раскрывающееся поле») на вход выбора или читать параметры из базы данных? Это две совершенно разные вещи. – Mike

ответ

0

Это не поддерживаются изначально в HTML, но есть многие инструменты UI для JavaScript, которые предоставляют редактируемый виджет со списком, или вы можете попробовать кодировать его в JS самостоятельно (по существу, используя текстовый ввод с выпадающим списком с настраиваемым кодом).

С другой стороны, простой подход будет что-то вроде этого:

<select name="name" ...> 
    <option value=''>Custom (use text field)</option> 
    ... etc ... 
</select> 
<input type='text' name='customName'> 

Затем на стороне сервера, если поданное значение имени является пустой строкой, но поданное значение customName не используйте customName , Вы также можете добавить JavaScript для включения/отключения поля customName, когда пользователь соответствующим образом изменит поле выбора.

Edit: HTML5

Кстати, это возможно в HTML5, но это, конечно, не поддерживается всеми браузерами:

<input list="suggestedNames" name="name"> 
<datalist id="suggestedNames"> 
    <option value="..."> 
    ... 
</datalist> 
Смежные вопросы