如何使搜索栏中的结果列表可以通过向上/向下箭头进行导航
How to make the list of results from a search-bar navigatable via up/down arrows?
我正在尝试实现一个显示数据库结果的搜索栏。我已经显示了结果,但我需要这样做,以便我可以使用向上/向下箭头导航结果。
下面给出了搜索栏的HTML结构:一个输入段和一个带有"结果列表"的div。在结果列表中,每个结果都有一个div,其中包括结果的属性。
我正在使用Ember.js.
{{!-- Contains the whole Searchbar. --}}
<div class="searchbarContainer" tabindex="-1" bubbles=false>
{{input type="search" name="searchFor" class="searchTextField" placeholder="Search..." value=searchKey}}
<div class="searchResultsContainer box-shadow" {{bind-attr id="searchBarID"}}>
{{#if searchKeyNotNull}}
{{!-- For each Row, include visual elements. --}}
{{#each toSearch }}
<div class="resultRow" tabindex="-1"{{action 'didClickResultDefault' this}}>
<img {{bind-attr src="resultIcon" class=":resultIcon isRound:roundIcon"}}>
<div class="inline-block">
<div class="resultName">
{{unbound this.resultText}}
</div><br>
<div class="resultTitle">
{{unbound this.secondaryText}}
</div>
</div>
</div>
{{/each}}
{{/if}}
{{/if}}
</div>
</div>
为了澄清一些事情:现在的工作方式是searchKeyNotNull是控制器上的一个属性,用于检查输入是否为空(以避免不必要的数据库调用)。toSearch是在获取结果时填充的数组;在输入部分的每个字符条目上,都会进行查询并重新填充toSearch。
我还应该指出,如果输入框失去焦点,searchResultsContain将立即隐藏。搜索栏本身就是一个Ember组件,如果这有什么不同的话。
重点是,在这个阶段,我有一个结果数组,我正在向页面显示。每个结果都显示在div"resultRow"中;所有"resultRow"都在父div"searchResultsContain"中。目标是能够使用上下箭头浏览这些resultRows;点击回车应该类似于点击resultRow。
似乎世界上几乎每个搜索栏都可以使用键盘导航,但令人沮丧的是,我不明白如何实现甚至接近这样的功能。
这样一个有用的功能是如何实现的?
这个答案可能就是您想要的https://stackoverflow.com/a/10341608/1146562
创建一个服务器端脚本(PHP、Rails、ASP.net等)来生成搜索结果。脚本可以从任何您喜欢的地方获取数据,例如数据库或硬编码列表。您的脚本必须接受一个名为q的GET参数,该参数将包含要搜索的术语。例如。http://www.example.com/myscript?q=query
链接到插件和文档http://loopj.com/jquery-tokeninput/
*****************更新********************
这里有另一个答案,可以为你指明正确的方向https://stackoverflow.com/a/17810896/1146562
$("ul").keydown(function (e) {
var searchbox = $(this);
switch (e.which) {
case 40:
$('li:not(:last-child).selected').removeClass('selected').next().addClass('selected');
break;
case 38:
$('li:not(:first-child).selected').removeClass('selected').prev().addClass('selected');
break;
}
});
希望能有所帮助!
- JQuery中的活动搜索栏
- 如何让typeahead在我的搜索栏中填充自定义参数
- 是否有其他人在设计Twitter Typeahead时遇到问题'的搜索栏
- Javascript中的搜索栏-部分匹配字符串
- 将图像添加到 json 搜索栏
- 导航搜索建议
- 显示移动窗口时引导导航栏中的 atach 搜索栏
- JS中使用滑块的音频搜索栏
- 基础导航顶部栏不适用于thymelaf
- 我怎样才能得到这个“;搜索栏”;使用jquery
- 我的搜索栏与YouTube API不同步
- 使用 json ajax javascript jquery 和 java 的自动完成搜索栏(无 PHP)
- 角度:需要搜索栏在 2 个不同的 ng 重复上工作
- 如何使用 jQuery 或 CSS3 使搜索栏响应式
- JavaScript Auto Complete 搜索栏修改帮助
- 无法让 javascript/html 搜索栏工作
- 为什么谷歌浏览器清空我在MediaWiki中的搜索栏
- 创建搜索栏
- 如何检查用户当前是否正在使用音频搜索栏
- 如何使搜索栏中的结果列表可以通过向上/向下箭头进行导航