jquery自定义快速搜索(根据键盘输入,搜索)

有时候在网上找的键盘输入搜索的控件,很多时候都会跟自己的项目冲突,所以自己写了一个,只需要引入jquery即可;例子代码如下(有用的需自己调整样式):

html代码:

<style>
        .inputDiv{
            width:100%;
            height:10%;
            border-bottom:1px solid #adadad
        }
        .whole{
            width:100%;
            height:100%;
        }
        .s_cla{
            width:100%;
            height:30px;
            
        }
        .d_cla{
            width:100%;
            height:30px;
            background-color:#adadad
        }
    </style>
  </head>
 
  <body>
   <div id="testDiv"></div>
  </body>

js代码如下:


/*
所用到的方法:
keyup:按键释放时触发。
数组.push():数组的放入方法
*/
var Arrays=["123","zh","ZH","zasdasd","哇哈哈","whwhwh"]
$(function(){
    $("#testDiv").css("height","500px");
    $("#testDiv").css("width","500px");
    $("#testDiv").css("border","1px solid #adadad");
    $("#testDiv").append("<div class='inputDiv'>"+
    "<input id='searchId' class='whole'></input></div>"+
    "<div id='dataDiv' style='width:100%;height:89%'></div>"    
    );
    //初始化,将数据放入div中
    for (var idx in  Arrays)
    {
        var cd=Arrays[idx];
        //单双行采用不同的样式
        var cls="s_cla"
        if(idx%2 != 0){
            cls="d_cla"
        }
        $("#dataDiv").append("<div class='"+cls+"'>"+cd+"</div>");
    }
    //捕捉键盘输入后的事件
    $("#searchId").keyup(function(){
        /*将输入框的值与搜索项的值均转化为大写,
        可以再搜索的过程中不区分大小写*/
        var inputVal=$(this).val().toUpperCase();
        var selArr=[];//存放搜索结果
        for (var idx in  Arrays)
            {
                var cd=Arrays[idx];
                var cdCase=cd.toUpperCase();
                if(cdCase.indexOf(inputVal)!=-1){
                    selArr.push(cd);
                }
            }
         $("#dataDiv").html('');//清空原来的数据
        //重新渲染到数据div中
        for (var idx in  selArr)
        {
            var cd=selArr[idx];
            //单双行采用不同的样式
            var cls="s_cla"
            if(idx%2 != 0){
                cls="d_cla"
            }
            $("#dataDiv").append("<div class='"+cls+"'>"+cd+"</div>");
        }
    });
});

效果如图所示:

初始化:

输入后:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值