Значение HTML5 в списке данных и внутренний текст

У меня есть проблема, которая проявляется между обработкой Chrome и Firefox элемента списка данных HTML5.

Я, возможно, злоупотребляю им, что Firefox обрабатывает так, как я ожидаю, но Chrome нет. Я не пробовал это на Опере. Это для внутренней страницы, поэтому я могу контролировать используемый браузер.

Я устанавливаю значение, а также внутренний текст, как в:

<input list="Names" placeholder="Enter Name or ID" name="txtSearchValue" autocomplete="off"/>
<datalist id="Names"><%=OptionsList%></datalist>

Серверное значение «OptionsList» создается динамически из запроса к базе данных. Конечный результат выглядит примерно так:

<option value="123">Sam's Fresh Sandwiches</option>
<option value="234">Sawatdee</option>

и т.п.

В Firefox я могу набрать буквы «S», затем «A» (без учета регистра), и появятся обе вышеуказанные записи. Как только я наберу "W" или выберу Sawatdee с помощью мыши, в текстовое поле будет вставлено 234. Это то, что я хочу, чтобы произошло - так как я хочу, чтобы 234 отправлялся обратно на сервер, а не Sawatdee. Это также работает, если я набираю «А», затем «Т».

В Chrome я могу печатать все буквы, которые хочу, но в списке ничего не появится. Однако, если я наберу 2, появится только вторая запись; но в списке он покажет 2, а затем Sawatdee.

Я злоупотребляю / злоупотребляю данным или у Chrome с этим проблемы? Или Chrome обрабатывает его так, как это технически предполагается, и я обнаружил ошибку в Firefox?

Ответы на вопрос(2)

Ваш ответ на вопрос