js 搜索框匹配

<div id="bigbox">
       <input type="text" id="box">
</div>

 input{
            margin: 300px  400px;
            width: 300px;
           padding: 10px;
           font-size:16px; 

          }
          li{
            list-style: none;
          }
          #bigbox{
            position: relative;
          }
          #one{
            position: absolute;
            top: 325px;
            left: 400px;
          }
          ul{
            border: 1px solid #ccc;
            padding: 10px;
          }

//模拟假数据
var datas=["a","abv","jng","abvt","hjuy","hj","abvtry","abvtryi"]
      //获取input
      var textbox=document.getElementById("box");
      var bigbox=document.getElementById("bigbox");
      //用户释放键盘事件
      textbox.οnkeyup=function(){
            //获取输入的内容
          var textval=this.value;
          //定义新数组
          var newarr=[];
          for(var i=0;i < datas.length;i++){
            //获取datas数组的每一个值
            var every=datas[i];
            //比较
            if(every.indexOf(textval)===0){
                  //若输入值与数组中有一致的,添加到新数组中
                 newarr.push(every);
            }
          }

          //创建div之前,先判断有没有,解决重叠问题
          var  one =document.getElementById("one");
          if(one){
             bigbox.removeChild(one);
          }
          //如果没有匹配,就不会创建
          if(newarr.length===0){
             return;
          }
          //如果为空,结构没有
          if(textval===""){
            return;
          }
          //动态生成结构
           var one=document.createElement("div");
           one.id="one";
           bigbox.appendChild(one);
            var uls=document.createElement("ul");
            one.appendChild(uls);
            //根据新数组创建li
            for(var i=0;i<newarr.length;i++){
                var item=newarr[i];
                 var li=document.createElement("li");
                 //有兼容问题
                 li.innerText=item;
                  uls.appendChild(li);
            }
      }

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值