1

我的应用程序中有一个 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属性的文本输入也不应该是只读的。几乎就像说,“如果你想要只读,那么使用select标签”。为了使这件事更加复杂,我几乎可以肯定这个设置(带有readonly)曾经在这个应用程序上工作过。不幸的是,在我最初的网络搜索中,答案并不明显。

我的假设是正确的,还是我错过了什么?

4

1 回答 1

0

数据列表与选择:

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

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

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

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

是的,您说的是:“如果您希望只读,则使用选择标签”,是的,据我所知,这是真的,因为您无法在 datalist 中将任何内容设置为已选择,但您可以在选择中设置。

于 2015-02-25T12:06:05.143 回答