添加选项,它是关于在JavaScript

问题描述:

打开我有一个快速变化的集合可能显示为选择框的选择项的系统的点中选择元素。每次数据更改时,我都可以直接更新选项,但我宁愿在用户即将看到它们时填写选项。例如。当它即将开放时。有这个事件吗?添加选项,它是关于在JavaScript

我想我可以使用'click'或'mousedown'事件,但通过键盘导航呢?可能还有其他的情况(也许)

顺便说一句,我知道如何添加选项到一个选择,'开幕'事件真的是我后。

感谢, 本

使用focus()而不是click(),因为点击事件没有给予足够的时间用新的值填充下拉菜单,这会导致古怪的行为。此外,单击事件将只捕获鼠标点击,焦点()您可以同时获得鼠标和键盘焦点事件,并且可以为下拉菜单填充新数据提供足够的时间。这里有一个简单的实验fiddle,一次尝试一个函数来看看不同之处。

+0

谢谢。这似乎工作,但它会重置每次单击选择时的选择。我想这可以通过确保在填充html()时正确设置select属性来解决。 –

+0

我现在在我的应用程序中使用了这个建议,它似乎很好,所以谢谢! –

你有两个选择:click()focus()没有其他人。

+0

这两个都不会打开一个选择框:http://jsfiddle.net/vMTRk/ – Joe

+0

不,他们不会打开它,但它们是捕获事件以填充内容的有效方式,在它打开之前,这是OP想要的。 –

如果你正在做这样的事情,选择下拉可能心不是将要选择的UI元素。

我会建议更改为一个jQuery UI自动完成构件;那么您可以根据用户输入的查询简单地提供项目。

此外,您可以连接到keyup事件(或焦点事件),而在这一点上显示出一组项目(好像是点击“下拉”)http://jqueryui.com/demos/autocomplete/#maxheight

+0

AutoComplete是一个很好的控制,但我真的想要一个下拉式,无需打字。虽然谢谢! –