仿百度搜索/dataList兼容IE/Safari的可下拉可输入框

html

<span>过敏药物名称 :</span>
<input type="text" placeholder="请输入过敏药物名称" id="content">
<ul id="search"></ul>
<script type="text/javascript" src="./jquery/jquery-1.11.3.min.js"></script>
<script type="text/javascript" src="./js/jquery.nicescroll.min.js"></script>

css

#content {
    width: 330px;
    height: 24px;
}
#search {
    position: absolute;
    top: 23px; 
    max-height: 190px !important; left: 86px;
    border: 1px solid #ccc;
    width: 330px;
    overflow: hidden;
    box-sizing: border-box;
    background-color: #fff;
    display: none;
    z-index: 100;
}
#search >li {
    line-height: 24px;
    cursor: default;
    padding-left: 6px;
}
#search >li:hover {
    background-color: #eaf6ff;
}

js

$("#search").niceScroll({
    railpadding: { top:0, right: 0, left: 0, bottom:0 },
    cursoropacitymin: 0, // 当滚动条是隐藏状态时改变透明度, 值范围 1 到 0,IE8隐藏滚动条
    cursoropacitymax: 0 // 当滚动条是显示状态时改变透明度, 值范围 1 到 0
});
$("#search").getNiceScroll().hide();// IE9+隐藏滚动条
var cur = 1;
$("#content").click(function (event) {
    $("#search").show();
    $(document).on("click", function () {//对document绑定一个影藏Div方法
        $("#search").hide();
    });
    event.stopPropagation();//阻止事件向上冒泡
    if(cur == 1) {//首次点击输入框搜索所有内容
        var val = $(this).val();
        $("#search").html(' ');
        $("#content_select option").each(function(i,item) {
            var name = $(item).text();
            if(name.indexOf(val) != -1) {
                $("#search").append('<li>'+name+'</li>');
            }
        });
        cur++;
    }
});
$(document).on('click',"#search >li",function (event) {
    event.stopPropagation();
    $("#content").val($(this).text());
    $("#content").css("color","#222");
    $(this).parents("#search").hide()
});
$("#content").keyup(function() {
    var val = $(this).val();
    $("#search").html(' ');
    $("#content_select option").each(function(i,item) {
        var name = $(item).text();
        if(name.indexOf(val) != -1) {
            $("#search").append('<li>'+name+'</li>');
        }
    });
});

转载于:https://my.oschina.net/u/3556145/blog/1585669

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值