HTML5 只读输入的数据列表,是否有效?

HTML5 Datalist with Readonly Input, is it valid?

我的应用程序中有一个 html5 数据列表,如下所示:

<input type="text" list="mydatalist" />
<datalist id="mydatalist">
   <option>Option 1</option>
   <option>Option 2</option>
   <option>Option 3</option>
</datalist>

它工作得很好,直到我将 input 元素更改为 readonly,如下所示:

<input type="text" list="mydatalist" readonly />

然后专注于输入元素现在什么都没有...

我假设根据规范,具有 list 属性的文本输入不应也是只读的。几乎就像在说,"If you desire readonly, then use a select tag"。更复杂的是,我几乎可以肯定这个设置(readonly)曾经在这个应用程序上工作过。不幸的是,在我最初的网络搜索中,答案并不明显。

我的假设是否正确,还是我漏掉了什么?

Datalist 与 Select:

我猜这就是你想要的,但是没有比较。 Datalist不一样,Select不一样。

  • datalist 用于根据用户输入从列表中自动填充结果,而 select 没有任何魔法,它只是显示它拥有的所有选项。

  • 所以这清楚地表明数据列表中不应该有任何预 selected 值(因为它用于在用户交互时自动填充)。因此它不能是只读的

  • select则不同,它可以有一个默认值,因此它可以是只读的。

是的,您说的是:“如果您希望只读,则使用 select 标签”,是的,根据我的说法,这是真的,因为您无法设置数据列表中 select 编辑的任何内容,但您可以在 select.

中编辑