Javascript 清除搜索输入后,将建议附加到搜索框
我有一个具有自动完成功能的搜索栏。首先单击搜索输入,添加所有建议,然后我可以搜索特定单词,但当我清除搜索输入(删除输入字段)时,应显示所有建议,但清除搜索输入标记时,列表显示为空 我如何解决这个问题?Javascript 清除搜索输入后,将建议附加到搜索框,javascript,html,Javascript,Html,我有一个具有自动完成功能的搜索栏。首先单击搜索输入,添加所有建议,然后我可以搜索特定单词,但当我清除搜索输入(删除输入字段)时,应显示所有建议,但清除搜索输入标记时,列表显示为空 我如何解决这个问题? var项目名称=[] 最近的内容={'projects':[{'projectu name':'test1'},{'projectu name':'test2'},{'projectu name':'test3'} 最近的内容['projects'].map((val)=>{ 项目名称.推送(va
var项目名称=[]
最近的内容={'projects':[{'projectu name':'test1'},{'projectu name':'test2'},{'projectu name':'test3'}
最近的内容['projects'].map((val)=>{
项目名称.推送(val[“项目名称”])
$('.results').append(``+val[“项目名称”]+` `)
})
document.getElementById('myInput')。addEventListener('input',(e)=>{
设projArray=[];
如果(如目标值){
projArray=proj_names.filter(proj=>proj.toLowerCase().includes(e.target.value));
projArray=projArray.map(项目名称=>`${proj\u名称} `)
}
showprojectArray(projArray);
});
函数showprojectArray(projArray){
常量html=!projArray.length?“”:projArray.join(“”);
document.querySelector('.results').innerHTML=html;
}
#自定义搜索输入{
保证金:0;
边缘顶部:10px;
填充:0;
}
.表格管制{
边界半径:0;
}
#自定义搜索输入。搜索查询{
右侧填充:3px;
右填充:4px\9;
左:3倍;
左侧填充:4px\9;
边框:1px实心#4949;
/*右边框样式:无*/
页边距底部:0;
}
#自定义搜索输入按钮{
背景色:rgb(0,0,0,0.3);
高度:计算(1.5em+0.75rem+2px);
填充:2x10px;
位置:相对位置;
垂直对齐:中间对齐;
}
.ion安卓搜索{
字体大小:150%;
}
.btn危险{
边界:无;
边界半径:0;
}
.搜索查询:焦点+按钮{
z指数:3;
}
.查册表格{
宽度:100%;
显示器:flex;
}
.search表单输入:焦点+.results{display:block}
.搜索表格.结果{
显示:无;
位置:绝对位置;
顶部:40px;
左:0;
光标:指针;
右:0;
z指数:10;
填充:0;
保证金:0;
/*边缘顶部:5px*/
边框宽度:1px;
边框样式:实心;
边框颜色:#cbcfe2#c8cee7#c4c7d7;
边界半径:3px;
背景色:#fdfd;
背景图像:-webkit渐变(线性、左上、左下、颜色停止(0%、#fdfdfd)、颜色停止(100%、#eceef4));
背景图像:-webkit线性渐变(顶部,#fdfdfd,#eceef4);
背景图像:-莫兹线性梯度(顶部,#fdfdfd,#eceef4);
背景图像:-ms线性梯度(顶部,#fdfdfd,#eceef4);
背景图像:-o-线性梯度(顶部,#fdfdfd,#eceef4);
背景图像:线性渐变(顶部,#fdfdfd,#eceef4);
-webkit盒阴影:0 1px2pRGBA(0,0,0,0.1);
-moz盒阴影:0 1px2pRGBA(0,0,0,0.1);
-ms盒阴影:0 1px2pRGBA(0,0,0,0.1);
-o盒阴影:0 1px2pRGBA(0,0,0,0.1);
盒影:0 1px2pRGBA(0,0,0,0.1);
}
.search form.results li{display:block}
.search form.results li:第一个子项{margin top:-1px}
.search form.results li:第一个孩子:之前,.search form.results li:第一个孩子:之后{
显示:块;
内容:'';
宽度:0;
身高:0;
位置:绝对位置;
左:50%;
左边距:-5px;
边框:5px透明;
}
.搜索表格.结果李:第一个孩子:之前{
边框底部:5px实心#c4c7d7;
顶部:-2px;
}
.搜索表单.结果li:第一个孩子:之后{
边框底部:5px实心#fdfdfd;
顶部:-10px;
}
.search form.results li:first child:hover:before.search.results li:first child:hover:after{display:none}
.search form.results li:最后一个子项{页边距底部:-1px}
.搜索表格.结果李{
显示:块;
位置:相对位置;
保证金:0-1px;
填充:6px 40px 6px 10px;
颜色:#808394;
字号:500;
文本阴影:0 1px#fff;
边框:1px实心透明;
边界半径:3px;
}
.search form.results li span{font-weight:200}
.搜索表格.结果李:之前{
内容:'';
宽度:18px;
高度:18px;
位置:绝对位置;
最高:50%;
右:10px;
利润上限:-9px;
/*背景:url(“https://cssdeck.com/uploads/media/items/7/7BNkBjd.png)0不重复*/
}
.搜索表单.结果li:悬停{
文字装饰:无;
颜色:#fff;
文本阴影:0-1pxRGBA(0,0,0,0.3);
边框颜色:28be9a#28be9a#28be9a;
背景色:#28be9a;
-webkit盒阴影:插入0 1px rgba(255,255,255,0.2),0 1px rgba(0,0,0,0.08);
-moz盒阴影:插入0 1px rgba(255,255,255,0.2),0 1px rgba(0,0,0,0.08);
-ms盒阴影:插入0 1px rgba(255,255,255,0.2),0 1px rgba(0,0,0,0.08);
-o形盒阴影:插入0 1px rgba(255,255,255,0.2),0 1px rgba(0,0,0,0.08);
框阴影:插入0 1px rgba(255,255,255,0.2),0 1px rgba(0,0,0,0.08);
}
:-moz占位符{
颜色:#a7aabc;
字号:200;
}
:-webkit输入占位符{
颜色:#a7aabc;
字号:200;
}
.lt-ie9.搜索输入{行高:26px}
您需要为event.target.value大小写else块
if(e.target.value){
projArray = proj_names.filter(proj => proj.toLowerCase().includes(e.target.value));
projArray = projArray.map(proj_names => `<li class='search-list'>${proj_names}</li>`)
} else {
// when e.target.value is empty show entire array.i.e. proj_names
projArray = proj_names.map(proj_name => return `<li>${proj_name}</li>`)
}
if(如目标值){
projArray=proj_names.filter(proj=>proj.toLowerCase().includes(e.target.value));
projArray=projArray.map(项目名称=>`${proj\u名称} `)
}否则{
//当e.target.value为空时,显示整个数组,即项目名称
projArray=proj_name.map(proj_name=>return`${proj_name} `)
}
我想将其显示为一个列表,以单行形式显示