我有select
动态创建option
选项[0]总是最终自动聚焦,如果我想选择第一个选项,我的onchange
将无效。
选项的索引很重要,因此创建" "
选项将不起作用。
有什么想法吗?
编辑:用户创建一个对象。当用户保存对象时,它会在select标记中创建一个新选项。用户从select标签中选择一些内容以返回该对象。
自动对焦始终在option[0]
,直到他们选择了其他内容,即使他们创建了一个新的对象/选项,所以如果他们想要选择第一件事,但是在第二或第三件用户必须点击在另一个选项上首先点击他们想要的那个。
我想要的是它不关注任何选项,以便他们可以从头开始点击选项[0],无论他们是否从下拉列表中选择了任何内容。
答案 0 :(得分:1)
似乎需要做很多工作来解决这个问题,而不是改变你的一个要求。你说索引对应于一个对象数组的索引。为什么你不能将第一个选项留空或“选择...”,然后简单地减去一个用于查找数组?
或者,让值对应于数组索引,还是使用自定义数据属性来存储数组索引?似乎任何这些都比尝试在多个浏览器中强制执行不受支持的功能的一致行为更容易。
答案 1 :(得分:0)
选择框始终选择其中一个选项(除非它没有任何选项)。您可能需要使用其他事件(可能是onclick)并测试该值以查看它是否已更改。
答案 2 :(得分:0)
您可以使用以下选项添加默认的空选项:
<option selected="selected" disabled="disabled" hidden="hidden" value=""></option>
默认情况下,select为空,在选项列表中无法选择void选项。