使用jQuery框架应用css类在输入框/ul列表中的keyup上找到匹配项
我需要你的帮助 我不知道这项技术叫什么,但你知道,在一些网站上,你开始在输入框中输入一些值,最近的结果会立即突出显示 我假设它在某个关键事件中捕获了这些信息。我想把同样的概念应用到我的例子中 例如,如果我在输入框中键入值使用jQuery框架应用css类在输入框/ul列表中的keyup上找到匹配项,jquery,javascript,Jquery,Javascript,我需要你的帮助 我不知道这项技术叫什么,但你知道,在一些网站上,你开始在输入框中输入一些值,最近的结果会立即突出显示 我假设它在某个关键事件中捕获了这些信息。我想把同样的概念应用到我的例子中 例如,如果我在输入框中键入值'698',jQuery将查找、选择并将我的css类标题为:.selected应用于该值(就像我要单击并选择它一样。我认为该插件对于用户和眼睛来说都是整洁和有目的的 我想进一步说,一旦应用了css类,函数也应该将滚动位置移动到检测到的值 下面是所需结果的快速图片: 非常感谢和感
'698'
,jQuery将查找、选择并将我的css类标题为:.selected
应用于该值(就像我要单击并选择它一样。我认为该插件对于用户和眼睛来说都是整洁和有目的的
我想进一步说,一旦应用了css类,函数也应该将滚动位置移动到检测到的值
下面是所需结果的快速图片:
非常感谢和感谢大家的帮助和支持
<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<style type="text/css">
* {
font-family: Segoe UI;
font-size: 9pt;
}
#refdocs {
border: 0;
width: 100%;
height: auto;
padding-left: 2px;
}
#refdocs_main {
border: 1px solid rgb(170,170,170);
width: 179px;
overflow: hidden;
margin-top: 1px;
}
#refdocs_input{
border-bottom: 1px solid rgb(170,170,170);
height: 20px;
}
#refdocs_wrapper{
height: 100px;
overflow-y: scroll;
overflow-x: hidden;
}
#refdocs_list {
width: 100%;
}
#refdocs_list ul {
margin: 0;
padding: 0px;
list-style-type: none;
}
#refdocs_list li {
cursor: default;
padding: 2px;
}
.selected {
background: rgb(228,228,228);
}
</style>
<script type="text/javascript">
window.onload = function() {
$('#refdocs_list ul li').click(function () {
$('#refdocs_list ul li').removeClass('selected');
$(this).addClass('selected');
document.getElementById('refdocs').value = $(this).text()
});
}
</script>
</head>
<body>
<div id="refdocs_main">
<div id="refdocs_input"><input type="text" id="refdocs"></div>
<div id="refdocs_wrapper">
<div id="refdocs_list">
<ul>
<li>9094203</li>
<li>9279863</li>
<li>9023698</li>
<li>8993127</li>
<li>9037891</li>
</ul>
</div>
</div>
</div>
</body>
</html>
* {
字体系列:SegoeUI;
字号:9pt;
}
#参考文献{
边界:0;
宽度:100%;
高度:自动;
左侧填充:2px;
}
#梅因酒店{
边框:1px实心rgb(170170);
宽度:179px;
溢出:隐藏;
页边顶部:1px;
}
#REF\u输入{
边框底部:1px实心rgb(170170);
高度:20px;
}
#refdocs\u包装器{
高度:100px;
溢出y:滚动;
溢出x:隐藏;
}
#参考文档列表{
宽度:100%;
}
#参考文献列表{
保证金:0;
填充:0px;
列表样式类型:无;
}
#参考文献列表{
游标:默认值;
填充:2px;
}
.选定{
背景:rgb(228);
}
window.onload=函数(){
$('#refdocs_list ul li')。单击(函数(){
$('#refdocs_list ul li')。removeClass('selected');
$(this.addClass('selected');
document.getElementById('refdocs')。值=$(this.text())
});
}
- 9094203
- 9279863
- 9023698
- 8993127
- 9037891
可能是这样的
$("#refdocs").keyup(function(event) {
if (event.which == 13) {
event.preventDefault();
}
var va = $( this ).val();
$("li:contains(" + va + ")").first().css("text-decoration","underline");
});
看看它是如何做到这一点的。