为什么当我清除/删除要在输入框中搜索的值时,我的所有 <LI> 都保持选中状态
Why do my all my <LI>'s remain selected when I clear/delete the value to search for in my input box
我需要这个网站上的大师和专家的帮助。
问题是,一旦我在输入框中搜索一个值,一切都按预期工作正常,除了当输入框被清除时,我的所有<LI>
都保持"选择"状态,从而使它们突出显示。如何让它们全部返回到默认格式的白色/非选定状态?
我在这里为你整理了一个小提琴:
http://jsfiddle.net/uG9fq/2/
/* find item in list as you type */
$("#refdocs").keyup(function(){ // onkeyup for the input field
var pattern = new RegExp($(this).val()); // store current value of input field as a RegExp pattern (though it could just be a string)
$("#refdocs_list li").each(function(){ // go through each item and try to match the pattern
var text = $(this).text();
if(text.match(pattern) !== null){
$(this).addClass("selected"); // pattern found - set .selected
}
else{
$(this).removeClass("selected"); // pattern not found - remove .selected
}
});
});
这是因为您没有检查空值,该值将与所有内容匹配
$("#refdocs").keyup(function(){
var val = $(this).val();
var pattern = new RegExp(val);
$("#refdocs_list li").each(function(){
var text = $(this).text();
if(text.match(pattern) !== null && val.length){
$(this).addClass("selected");
}
else{
$(this).removeClass("selected");
}
});
});
小提琴
对眼睛来说更容易一点
$("#refdocs").on('keyup', function(){
var val = this.value;
$("#refdocs_list li").each(function() {
$(this).toggleClass('selected', $(this).text().indexOf(val) != -1 && val.length > 0);
});
});
如果值为空,则只需要删除选定的类
if($(this).val() === ''){
$('#refdocs_list ul li').removeClass('selected');
}
查看我更新的 JSFIDDLE
相关文章:
- 为什么不't Javascript对我的输入值进行了一些重新检查
- 可以't让我的if语句处理js中的html表单输入
- 我的单元测试选项是什么
- 将输入字段中的文本提交到我的数据库,同时将其添加到我的列表中
- 我的职位回报太快了,如何做出承诺
- 我的jQuery插件参数没有正确启动,遇到了问题
- 如何识别我的网站中的慢速设备
- 我的Javascript(用于在ul中重新排序li)在IE中不起作用
- 为什么我的地图函数额外添加 2 个空的“li”
- 我已经在我的ul中添加了一个li,虽然它可以工作,但它会导致错误
- 我的jquery中的LI影响了我的菜单
- 有人能理解为什么我的jquery函数上下滑动在我的第一个li标签上不能正常工作吗
- 我想将click事件绑定到xpages类型中的li元素
- 我如何获得单独的li文本而不是内部HTML
- 我的li范围没有在angular js中删除为什么
- 尝试使用Javascript向我的有序列表添加新的li元素,有人知道为什么这段代码不工作吗?
- 我需要把我的LI数组元素放到UL中,但我不能
- 我的click事件不能与新的li元素一起工作
- 获取我的li所在的uri的id
- 定义我的导航的JSON有标题类型和类别类型;d希望转换为Javascript中的嵌套UL LI元素