jQuery搜索框输入文字下拉提示菜单

所属分类:输入-自动完成

 114077  441  查看评论 (27)
分享到微信朋友圈
X
jQuery搜索框输入文字下拉提示菜单 ie兼容8

更新时间:2017/11/06 下午4:07:02

更新说明:修改点击两次才能选中内容的问题


jQuery搜索框提示,autocomplete输入框文字提示,搜索框提示文字,搜索框提示代码,搜索框提示功能

var proposals = ['百度1', '百度2', '百度3', '百度4','a1','a2','a3','a4','b1','b2','b3','b4'];
$('#search-form').autocomplete({
    hints: proposals,
    width: 300,
    height: 30,
    onSubmit: function(text){
        $('#message').html('Selected: <b>' + text + '</b>');
    }
});
<div id="demo">
    <div class="wrapper">
        <h3>试试输入"百度"</h3>
        <div id="search-form"></div>
        <div id="message"></div>
    </div>
</div>
相关插件-自动完成

jQuery自动补全插件jQuery.AutoComplete

输入文字,自动联想库中的内容,自动补全,关键字高亮
  自动完成
 35920  313

jQuery中文转拼音加员工编号计算

用户输入中文,自动生成拼音,点击确定按钮,计算出这个姓名对应的唯一编号
  自动完成
 23446  350

vue车检时间计算器

基于vue实现的车辆计算下次车检的日期
  自动完成
 9042  132

简单好用的jq仿手机通讯录字母索引特效

仿手机通讯录字母索引jq特效
  自动完成
 41062  399

讨论这个项目(27)回答他人问题或分享插件使用方法奖励jQ币 评论用户自律公约

    bingganlen 0
    2019/8/7 11:22:19

    连续使用了多个搜索提示框,使用第一个search-form的时候会被search-form1   和  search-form2挡住内容

    回复
    天空下的田野 0
    2019/1/16 15:04:22

    有哪个大神能把我加个验证功能:

    var xiangguan = ["土木工程", "矿井建设", "建筑工程", "城镇建设"];
    	$('.btn').click(function() {
    		$(".c").css("display","block");
    		var inpText = $('.inp').val();
    		var aa = xiangguan.indexOf(inpText);
    		var bb;
    		if(aa == -1) {
    			bb="不相关";
    		} else {
    			bb="相关";
    		}
    		/*console.log(inpText);
    		console.log(bb);*/
    		$(".c").html('查询结果毕业专业:'+inpText+' 此专业:'+bb+'
     ')
    回复
    jiangxk 0
    2018/9/4 13:42:38
    点击别处,弹出层怎么隐藏
        .糖果布丁?1
        2018/10/17 14:16:56

        js中找到input.blur()添加代码如下:

        input.blur(function(e) {
            currentSelection = -1;
            if ($(this).next().find('.selected').length == 1) {
                input.val($(this).next().find('.selected').html())
            }
            proposalList.empty();
            params.onBlur();
        });
    回复
    倾红尘 0
    2018/6/5 15:24:53
    如果下拉的内容是动态改变的怎么弄,有销毁等方法吗 回复
    Rocky 0
    2017/12/28 13:56:54

    我一个页面要用到多个搜索建议框怎么办

    回复
    →删不掉の←沉醉 0
    2017/12/27 18:11:07

    请教你们,为什么我在搜索框下面选择一个值,去查询,要延时好久才出来,这是什么回事?

    回复
    o(?□?)o小熊 0
    2017/12/7 11:51:18

    我的总是报错怎磨回事啊$(...).autocomplete is not a function

    我引入了jq和那个js文件

        J-DUB0
        2017/12/8 14:38:26

        是的 我也遇到这个问题

        J-DUB0
        2017/12/8 15:01:32

        我找到原因了  可能你引用了两次jquery的文件  我就是这样。。。太粗心了  

    回复
    酸奶先生 3
    2017/7/3 21:05:14

    控件有几个BUG:

    1、input输入后,点击选项,第一次点击无响应,原因是bind的change事件会在input失去焦点的时候触发,导致重新加载了选项,需要去掉change事件,改成input等事件即可解决 (相应的blur事件没有意义,需要这样的事件可以改到li.click事件中)

    2、在用keydown事件时,再用鼠标选择,第一次会出现css效果重叠,原因是没有在mouseenter事件中加入removeclass处理,其实选项可以处理成可以循环选择,比如到最后一个选项时,down一下可以到第一个选项

    3、在输入字后离开input界面后,选项等内容没法及时消失,在实际使用中其实比较变扭,不符合常规的使用习惯,建议增加mouseleave事件处理

    4、插件内match的数据集合建议使用二维数组处理,方便与后台的json数据对接,也方便在处理数据传输时,不用直接取文字数据来进行传导

    5、在input获取焦点的时候,一般习惯是显示全部选项,这点也可以考虑增加参数可开启,实际使用中比较符合使用习惯

    6、个人认为在div上直接生产输入框处理也不是一种好选择,除非是特殊场合做赋值使用,平常使用多的更多是在布局好的input控件上加效果

    7、如果可以,建议直接加入ajax模块的功能,首次加载的时候能加载进数据,不用专门在外部写语句去获取数据,再传入空间内处理

    8、如上是个人今天需要此类控件时,参考了大神控件的思路,自己改编了一个比较适合自己使用的控件,楼主写的思路很不错,适合学习

        38.6°℃0
        2017/8/10 14:40:08

        获取焦点的时候显示全部你是怎么做的  代码可以看看么?

    回复
    The Wind Rises 0
    2017/6/9 16:18:31

    我想说根据“把 change paste keyup 改成keyup 可以解决点击两下选中问题。”这种方法修改之后,输入搜索“百”的时候不能出现下拉联想,当input删除文字之后,才出现下拉联想。

    这个问题怎么解决啊?

        38.6°℃0
        2017/8/10 11:58:10

        可以出现啊

    回复
    ?? ?非我莫属 ?? 0
    2017/3/29 10:29:18

    把源码中keydown改成keyup可解决两次键盘问题

        ~zZ0
        2017/5/10 10:41:30

        是这个keydown吗?, input.keydown(function(e) { }) 改成keyup 解决不了点击两下选中的问题啊

        ~zZ0
        2017/5/10 11:01:53

         把 change paste keyup 改成keydown 可以解决点击两下选中问题。

    回复
😃
  • 😀
  • 😉
  • 😥
  • 😵
  • 😫
  • 😘
  • 😡
  • 👍
  • 🌹
  • 👏
  • 🍺
  • 🍉
  • 🌙
  • 💖
  • 💔
😃
  • 😀
  • 😉
  • 😥
  • 😵
  • 😫
  • 😘
  • 😡
  • 👍
  • 🌹
  • 👏
  • 🍺
  • 🍉
  • 🌙
  • 💖
  • 💔
取消回复