类百度,输入联想功能实现

1.定义一个文本框:

<input type="text" class="txtW95" id="produ" /><div id="searchresult" style="display: none;position:absolute;top:22px;left:0;width: 250px;z-index:9999;overflow: hidden;background: #E0E0E0;"border-top: none;> </div>

2.在文本框下面设置一个显示区域。样式设置为默认不显示,位置绝对,z-index设置大些位于前端

3.填充数据

$(function () {
            $("#produ").keyup(function (evt) {
                var k = window.event ? evt.keyCode : evt.which;
                if ($("#produ").val() != "" && k != 38 && k != 40 && k != 13) {
                    var name = $("#produ").val();
                    callBizAPI("AutoComplish", {//调用ajax
                        name: name
                    }, function (result) {//得到数据
                        var names = new Array();
                        if (result.length != 0) {
                            var layer = "";//定义一个层(这个层是一个表格)
                            layer = "<table id=‘aa‘>";
                            $.each(result, function (idx, item) {
                                layer += "<tr class=‘line‘><td class=‘std‘>" + item.ProductName + "</td></tr>";//向表格中添加数据
                            });
                            layer += "</table>";
                            $("#searchresult").empty();//先清空上次的结果
                            $("#searchresult").append(layer);//添加这个层
                            $(".line:first").addClass("hover");
                            $("#searchresult").css("display", "");
                            $(".line").hover(function () {
                                $(".line").removeClass("hover");
                                $(this).addClass("hover");
                            }, function () {
                                $(this).removeClass("hover");
                            });
                            $(".line").click(function () {//选中行后的处理
                                $("#produ").val($(this).text());
                                $("#searchresult").css("display", "none");
                            });
                        } else {
                            $("#searchresult").empty();
                            $("#searchresult").css("display", "none");
                        }
                    })
                } else if (k == 38) {//上箭头
                    $(‘#aa tr.hover‘).prev().addClass("hover");
                    $(‘#aa tr.hover‘).next().removeClass("hover");
                    $(‘#produ‘).val($(‘#aa tr.hover‘).text());
                } else if (k == 40) {//下箭头
                    $(‘#aa tr.hover‘).next().addClass("hover");
                    $(‘#aa tr.hover‘).prev().removeClass("hover");
                    $(‘#produ‘).val($(‘#aa tr.hover‘).text());
                }
                else if (k == 13) {//回车
                    $(‘#produ‘).val($(‘#aa tr.hover‘).text());
                    $("#searchresult").empty();
                    $("#searchresult").css("display", "none");
                }
                else {
                    $("#searchresult").empty();
                    $("#searchresult").css("display", "none");
                }
            });
            $("#searchresult").bind("mouseleave", function () {
                $("#searchresult").empty();
                $("#searchresult").css("display", "none");
            });
        })

  要用的css

.line
        {
            font-size: 12px;
            background: #E0E0E0;
            width: 130px;
            padding: 2px;
        }
        .hover
        {
            background: #007ab8;
            width: 130px;
            color: #fff;
        }
        .std
        {
            width: 150px;
        }
        .cc{
        position:relative;
        }

  

时间: 2024-10-06 22:06:11

类百度,输入联想功能实现的相关文章

Selenium2+python自动化34-获取百度输入联想词

前言 最近有小伙伴问百度输入后,输入框下方的联想词如何定位到,这个其实难度不大,用前面所讲的元素定位完全可以定位到的. 本篇以百度输入框输入关键字匹配后,打印出联想词汇. 一.定位输入框联想词 1.首先在百度输入框输入关键词,如:博客,然后输入框下方会自动匹配出关键词. 2.这时候可以用firebug工具定位到联想出来的词,可以看到下方匹配出来的词都有共同的class属性,这时候就可以全部定位到了. 二.打印全部匹配出来的词 1.通过get_attribute()方法获取到文本信息 三.参考代码

利用 lucene.net 实现高效率的 WildcardQuery ,记一次类似百度搜索下拉关键字联想功能的实现。

打开百度输入  站内搜索也要实现类似功能.最基础的做法,写个方法查数据库搜索历史综合表keywordSearch(先将被搜索过的关键字记录到一张表,记录好他们被搜索的次数.上次搜索的有多少结果) 大概一条sql语句:select keyword,searchCount,xxxx from table where keyword like '会计%' 当表 keywordSearch 记录很有几百上千万的时候,like显然不能及时响应了.但是这种关键字联想的一旦有延迟返回,那是很不好的体验.还没等

Myeclipse设置自动联想功能

///声明,博客园暂无转载功能,这篇博客是转载自贞心真义. 最近初学Java,正在使用MyEclipse来编写新的项目,刚开始打开MyEclipse感觉这个工具既陌生又熟悉,熟悉之处在于编辑器的几大共通之处它都具备,比如说基本的设置.编辑区.调试区都是类似的,上手还是比较容易的.陌生之处就在于貌似感觉这个东西有一些神秘的地方还未我们这些初学者所掌握,一旦掌握了这些小神秘的地方,必定会为开发工作带来很大的方便,也会使开发更加快捷有效率. 比如说大家可能用惯了VS或其他环境软件的同学,刚开始使用My

商品搜索——输入联想|智能提示探索

结合淘宝.京东.一号店输入联想得出如下猜测结果(当然,这些只是根据尝试的猜测,毕竟没有经验,不清楚具体实现,如果有做过这一块的猿友,希望可以评论指点下,非常感谢): (1)是否识别拼音?如果可以识别拼音,是否可以拼音纠错?拼音能识别拼音首字母? 淘宝.京东.一号店都可以识别拼音,如shouji,可以识别成手机. 淘宝.京东.一号店都不能进行拼音纠错,如输入souji并不能识别为手机. 对于首字母识别,京东做得比较好,百度和一号店做得效果比较差. 综上,我们实现拼音识别,但不进行拼音纠错,首字母识

Java开发工具MyEclipse的设置自动联想功能

最近初学Java,正在使用MyEclipse来编写新的项目,刚开始打开MyEclipse感觉这个工具既陌生又熟悉,熟悉之处在于编辑器的几大共通之处它都具备,比如说基本的设置.编辑区.调试区都是类似的,上手还是比较容易的.陌生之处就在于貌似感觉这个东西有一些神秘的地方还未我们这些初学者所掌握,一旦掌握了这些小神秘的地方,必定会为开发工作带来很大的方便,也会使开发更加快捷有效率. 比如说大家可能用惯了VS或其他环境软件的同学,刚开始使用MyEclipse的时候觉得怎么这么难受呢,都没有输入提示,就是

怎么配置eclipse的联想功能(转)

当我们在用eclipse的时候,怎么能够让自己的编码速度加快?我想利用eclipse的提示功能是其中的方法之一.下面就利出配置eclipse联想功能(代码的提示功能)的步骤: 1. 打开Eclipse,然后“window”→“Preferences” 2. 选择“java”,展开,“Editor”,选择“Content Assist”. 3. 选择“Content Assist”,然后看到右边,右边的“Auto-Activation”下面的“Auto Activation triggers fo

JavaScript实现搜索联想功能

-.虽然Jquery已经有了一个完整的包 实现前端搜索联想功能,但是出于学习还是想了解一下实现此功能的原理性 回想起来 实现此功能很简单,1.前端输入字符串 文本改变 异步请求服务器 将返回的资料显示在前端就OK了 实际上这样没有问题但是性能却大大减少了很多,那么为了优化性能 此处做了一个时间间隔 当用户输入字符之间停顿一定时间后去请求资料 看看实现代码吧 <!doctype html><html lang="en"> <head> <meta

百度地图 api 功能封装类 (ZMap.js) 本地搜索,范围查找实例 [源码下载]

相关说明 1. 界面查看: 吐槽贴:百度地图 api 封装 的实用功能 [源码下载] 2. 功能说明: 百度地图整合功能分享修正版[ZMap.js] 实例源码! ZMap.js 本类方法功能大多使用 prototype 原型 实现: 包含的功能有:轨迹回放,圈画区域可编辑,判断几个坐标是否在一个圆圈内,生活服务查询,从经纬度获取地址信息,地图工具包括测距,获取面积,以积打印地图,地图全屏,实时路况,坐标是否在polygon区域内,打车方案,经过中间途经点,添加地图控件: 界面预览 本界面项目由:

类百度富文本编辑器文件上传。

在项目安开发中,有一个需求是用户需上传特定的text文件,根据此文件判断设备的状态. 以上是需求,此时需要在页面上用到文件上传的功能,原始的文件上传样式不好看,自己此段时间一直都在用layui前端框架写页面,本想用layui官网上给的文件上传功能的,但是经理说上传的文件不能只显示文件名, 还要配上一张图片.layui上传文件的模式都是: 显然这个版本的文件上传还没有符合项目的需要. 在接下来的对比中,看到了百度富文本编辑器的文件上传和图片上传样式:       因为这个功能是在百度富文本编辑器工