Javascript 如何通过只按键盘上的第一个字母将控件跳转到下拉列表中的选项?
下面是我用来创建VF页面动态列表的html代码,以及我用来实现该功能的Jquery函数。我发现使用keypress元素可以帮助我实现我正在寻找的需求,但它不起作用 HTML编码Javascript 如何通过只按键盘上的第一个字母将控件跳转到下拉列表中的选项?,javascript,jquery,html,Javascript,Jquery,Html,下面是我用来创建VF页面动态列表的html代码,以及我用来实现该功能的Jquery函数。我发现使用keypress元素可以帮助我实现我正在寻找的需求,但它不起作用 HTML编码 请建议我是否有任何解决方案…。on应该像这样使用:OneEvent、selector、function{}“如何通过只按键盘上的第一个字母将控件跳转到下拉列表中的选项?”–您使用的浏览器中没有内置此功能…?此外,快速连续地输入字母会导致跳转到以字母开头的选项–您只使用第一个字母的简单方法可能会弄糟这一点,因此,您正在减少
请建议我是否有任何解决方案…。on应该像这样使用:OneEvent、selector、function{}“如何通过只按键盘上的第一个字母将控件跳转到下拉列表中的选项?”–您使用的浏览器中没有内置此功能…?此外,快速连续地输入字母会导致跳转到以字母开头的选项–您只使用第一个字母的简单方法可能会弄糟这一点,因此,您正在减少功能性…@CBroe-是的,我知道如果我使用and标记,我可以实现我想要的功能,甚至更多。但问题是,如果我使用这两个标记,只有背景颜色出现在选项中,而不是控件中,即如果您键入“j”,并且有一个名为“jaxb”的页面,它将在下拉列表中跳转到该页面,但当您单击该页面时,该页面将不会打开
<div id="VFPageListsDropDown">
<span></span>
<button type="button" data-toggle="dropdowns" data-dropdowns="#dropdowns-1" class="btn btn-primary dropdowns-toggle" id="btnSort" >
<table width="100%">
<tr>
<td width="81%" id="BtnDropDown">Select VF Pages</td>
<td width="19%"> <span class="caret"></span></td>
</tr>
</table>
</button>
<span>
<div id="dropdowns-1" class="dropdowns dropdowns-tip">
<ul class="dropdowns-menu" id="VFPageListsDropDown"></ul>
</div>
</span>
</div>
$('#').on('shown.bs.dropdown', function () {
var $this = $(this);
// attach key listener when dropdown is shown
$(document).keypress(function(e){
// get the key that was pressed
var key = String.fromCharCode(e.which);
// look at all of the items to find a first char match
$this.find("li").each(function(idx,item){
$(item).removeClass("active"); // clear previous active item
if ($(item).text().charAt(0).toLowerCase() == key) {
// set the item to selected (active)
$(item).addClass("active");
}
});
});
// unbind key event when dropdown is hidden
$('#').on('hide.bs.dropdown', function () {
$(document).unbind("keypress");
})