1.想要实现的效果如下:其实与百度地图的城市切换部分是一样的。

代码如下:其中的知识点包括($.inArray(test,array)>0   判断test是否在数组array中)($("#input").keyup(function(){}) 当向input中输入内容时的监听事件)

(val.indexOf(test)!=-1 如果test包含在val中)

    function searchBtn() {
var customhouseName = $.trim($(".cityChoice .search input").val());
// $(".searchResult").html(" ");
if (customhouseName == "")
{ alert("请输入海关的名称");}
else {
if ($.inArray(customhouseName, arry)>0) { //如果input中的内容在数组中,
$(".cityChoice div").eq(0).find("span").html(customhouseName);
$(".city").children("button").html(customhouseName);
$(".searchResult").addClass("hide");
}
else {
$(".searchResult").addClass("hide");
alert("请输入正确的名称");
}
}
}
$(function () {
//input框输入内容时
$(".cityChoice .search input").keyup(function () {
$(".searchResult").html("");
var customHouse = $.trim($(this).val().toString());
if (customHouse != "") {
$.each(arry, function (index, val) {
//如果输入的内容包括在数据中,就将其加入ul li中
if (val.indexOf(customHouse) != -1) {
$(".searchResult").append("<li>" + val + "</li>");
}
//如果ul中有子元素,则ul显示出来
if ($(".searchResult").html()!="") {
$(".searchResult").removeClass("hide");
}
})
}
//点击ul li中的数据,将其写入input中并清空ul中数据,隐藏ul。
$(".searchResult li").click(function () {
$(".cityChoice .search input").val($(this).html());
$(this).parent().html();
$(".searchResult").addClass("hide");
})
return false;
}) })

前端代码:

 <div class="search">
<span></span>&emsp;&emsp;<input type="text" placeholder="" /><button onclick="searchBtn()">搜索</button>
<ul class="searchResult hide"></ul>
</div> .cityChoice .search input{height:24px;width:130px;margin-right:5px;border:1px solid #eee;}
.cityChoice .search input:focus{border-color:#bbb;}
.cityChoice .search button{padding:3px 5px; height:26px;}
.cityChoice .search button:hover{background-color:#eee;}
.cityChoice .search .searchResult{left: 89px;width: 131px;position: absolute; background-color: #fff;
border: 1px solid #bbb; overflow: hidden; padding: 3px 5px;box-sizing: border-box;max-height:280px;overflow-y:auto;}
.cityChoice .search .searchResult li{padding:3px 0;}
.cityChoice .search .searchResult li:hover{cursor:pointer;}

jquery实现搜索提示效果的更多相关文章

  1. 基于jQuery Tooltips悬停提示效果

    基于jQuery Tooltips悬停提示效果.这是一款基于jquery.tooltipster插件实现的jQuery Tooltips Hover effect特效.效果图如下: 在线预览   源码 ...

  2. 简单jquery 鼠标悬停提示效果

    记得自己引入jq插件哦~~~ <!DOCTYPE html> <html lang="en"> <head> <meta charset= ...

  3. BootStrap入门教程 (四) :JQuery类库插件(模态窗口,滚动监控,标签效果,提示效果,“泡芙”效果,警告区域,折叠效果,旋转木马,输入提示)

    上讲回顾:Bootstrap组件丰富同时具有良好可扩展性,能够很好地应用在生产环境.这些组件包括按钮(Button),导航(Navigation),缩略图( thumbnails),提醒(Alert) ...

  4. 超链接提示效果jQuery+CSS+html

    我们知道浏览器自带了超链接提示, 只需要在超链接中加入 title 属性就可以了. <a href="#" title="吉大砍人案致1死1伤 受害者死前大喊他手里 ...

  5. 用jQuery实现搜索框的过滤效果

    遇到的问题: 1.动态添加了某些元素,在动态添加的某个元素上绑定事件失效 原因:因为需要绑定的元素的直接父元素也是动态添加的解决:向上为上一级父元素绑定事件 $(".check-box&qu ...

  6. jQuery打造智能提示插件二(可编辑下拉框)

    在上一篇 jQuery打造智能提示插件 上改进,增加下拉按钮,修复点击下拉区域外不隐藏BUG 效果 下拉按钮素材: js封装,注意红色部分为BUG修复,然后传入boxwidth不带px: /* /// ...

  7. jquery的智能提示控件

    福利到~分享一个基于jquery的智能提示控件intellSeach.js   一.需求 我们经常会遇到[站内搜索]的需求,为了提高用户体验,我们希望能做到像百度那样的即时智能提示.例如:某公司人事管 ...

  8. jQuery的搜索关键词自动匹配插件

    相信许多人都会用过搜索栏自动匹配关键词的功能,无论是像google的专业搜索引擎,还是普通的网站,现在许多都用上了这种关键词匹配技术,本文介绍的用jQuery实现的关键词匹配技术,当然要整合到自己的系 ...

  9. jQuery框架学习第十一天:实战jQuery表单验证及jQuery自动完成提示插件

    jQuery框架学习第一天:开始认识jQueryjQuery框架学习第二天:jQuery中万能的选择器jQuery框架学习第三天:如何管理jQuery包装集 jQuery框架学习第四天:使用jQuer ...

随机推荐

  1. 004_Intelij 使用,Anonymous Apex

    插件安装好之后,就可以正常添加cloud 项目: 注意:免费使用是30天,为了不去买license,在过期后,去修改下机器的日期,这个日期是在安装后的一个月内,改好日期后,启动Intelij 少一个截 ...

  2. 利用Maven打包时,如何包含更多的资源文件

    首先,来看下MAVENx项目标准的目录结构: 一般情况下,我们用到的资源文件(各种xml,properites,xsd文件等)都放在src/main/resources下面,利用maven打包时,ma ...

  3. Thinkphp学习回顾(一)之基本结构目录

    TP框架的学习一般都是从了解框架的基本结构开始的,每个文件都有其专属的作用,我的TP框架的回顾也从基本结构开始讲起. 一.ThinkPHP的获取 http://www.thinkphp.cn   这是 ...

  4. oncontextmenu事件

    oncontextmenu的作用是阻止浏览器默认的鼠标右键行为. 阻止弹出右键自带菜单 document.oncontextmenu=function(){ console.log('你点击了右键') ...

  5. 处理session跨域几种的方案

    常用跨域共用session的是登录模块,我相信很多开发的朋友的都遇到过,只需要一个地方登录,相关联的网站也是处于登录状态.两种情况:一种9streets.cn和a.9streets.cn之间,另一种是 ...

  6. c++课程设计的收获。

    1.cin.clear() 如果输入错误,出现不匹配,要用clear清楚错误状态. (也就是把failbit设置为0) while(cin.get()!='\n') continue;吸收缓冲区也就是 ...

  7. msql 实现sequence功能增强

    create table sequence (      seq_name        VARCHAR(50)  NOT NULL COMMENT '序列名称',    min_val        ...

  8. Centos7安装图形界面

    安装好字符操作系统后,使用网络安装(网络安装比较简单,不需要配置yum文件): yum groupinstall "GNOME Desktop" -y startx centos7 ...

  9. Jenkins + maven + Git+selenium

    1.在Jenkins中配置Maven与Git 1)在系统管理>管理插件>可选插件 页面分别下载Git plugin 与 Maven Integration plugin插件,安装完成后再已 ...

  10. C#位运算讲解与示例

    首先每一个权限数都是2的N次方数 如:k1=2 ; //添加 k2=4 ; //删除 k3=8; //修改 ... 如此定义功能权限数,当需要组合权限时,就需要对各个所拥有的权限数按位或了. 如: p ...