Javascript 自动对焦dropbox中的空白区域而不创建空选项?
我有一个Javascript 自动对焦dropbox中的空白区域而不创建空选项?,javascript,html,select,option,Javascript,Html,Select,Option,我有一个select,它动态创建了选项选项[0],如果我想选择第一个选项,它总是自动聚焦,使我的onchange无法工作。 选项的索引很重要,因此创建“选项将不起作用。 有什么想法吗 编辑:用户创建一个对象。用户保存对象时,会在“选择”标记中创建一个新选项。用户从“选择”标记中选择某个对象以返回该对象 自动对焦始终处于选项[0]状态,直到他们选择了其他选项,即使他们创建了一个新对象/选项。因此,如果他们想选择第一个选项,但在第二个或第三个选项上,用户必须先单击另一个选项,然后单击他们想要的选项
select
,它动态创建了选项
选项[0],如果我想选择第一个选项,它总是自动聚焦,使我的onchange
无法工作。
选项的索引很重要,因此创建“
选项将不起作用。
有什么想法吗
编辑:用户创建一个对象。用户保存对象时,会在“选择”标记中创建一个新选项。用户从“选择”标记中选择某个对象以返回该对象 自动对焦始终处于
选项[0]
状态,直到他们选择了其他选项,即使他们创建了一个新对象/选项。因此,如果他们想选择第一个选项,但在第二个或第三个选项上,用户必须先单击另一个选项,然后单击他们想要的选项。
我想要的是,它不关注任何选项,这样他们就可以从一开始就单击选项[0],而不管他们是否从下拉列表中选择了任何内容。选择框始终选择其一个选项(除非它没有任何选项)。您可能需要使用不同的事件(可能是onclick)并测试该值,以查看它是否已更改。似乎需要大量工作来解决此问题,而不是更改您的某个需求。您说索引对应于对象数组中的索引。为什么第一个选项不能为空或“选择…”,然后在数组中查找时只需减去一个选项
或者,让值与数组索引相对应,或者使用自定义数据属性存储数组索引?似乎上述任何一项都比在多个浏览器中强制执行不受支持的功能的一致行为要容易。您可以使用以下选项添加默认的空选择选项:
<option selected="selected" disabled="disabled" hidden="hidden" value=""></option>
默认情况下,“选择”为空,选项列表中的“无效”选项不可选择。您需要添加更多关于您希望用户做什么的上下文。然后可以使用另一组事件(可能是模糊或单击)。他们是否要重新单击已选择的选项?查一查?还有其他问题吗?还有一个问题-为什么选项的索引很重要?索引对应于一个对象数组中的索引。我将它们设置为并行数组,因为对象本身没有名称。听起来,您最好通过值、名称或html5数据属性跟踪所选选项。按索引进行跟踪将很容易被破坏。这些其他选项将允许您在下拉列表中有一个空白或请选择选项,以及一个更健壮的实现。我相信为此目的,
onclick
在某些浏览器上不起作用。是的,我认为您是正确的。。。我认为在过去,我使用onchange、onkeyup和onblur来覆盖所有这些内容(过度使用,但这是我解决同一问题的唯一方法)。