Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 清除搜索输入后,将建议附加到搜索框_Javascript_Html - Fatal编程技术网

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}
  • `) }
    我想将其显示为一个列表,以单行形式显示