1. <style type="text/css">
  2.  
  3. .inputbox .seleDiv {
  4.  
  5. border: 1px solid #CCCCCC;
  6.  
  7. display: none;
  8.  
  9. left:;
  10.  
  11. position: absolute;
  12.  
  13. top: 30px;
  14.  
  15. width: 220px;
  16.  
  17. z-index:;
  18.  
  19. }
  20.  
  21. .inputbox {
  22.  
  23. float: right;
  24.  
  25. height: 30px;
  26.  
  27. line-height: 30px;
  28.  
  29. position: relative;
  30.  
  31. }
  32.  
  33. .inputbox .seleDiv ul {
  34.  
  35. background: none repeat scroll 0 0 #FFF6CB;
  36.  
  37. }
  38.  
  39. .inputbox .seleDiv ul li {
  40.  
  41. border-top: 1px solid #FFFFFF;
  42.  
  43. color: #000000;
  44.  
  45. cursor: pointer;
  46.  
  47. height: 25px;
  48.  
  49. line-height: 25px;
  50.  
  51. padding-left: 2px;
  52.  
  53. text-align: left;
  54.  
  55. }
  56.  
  57. </style>
  1. <div class="inputbox">
  2.  
  3. <input type="text" id="txtKey" style="opacity: 0.5;">
  4.  
  5. <span style="color: Red">在这里可以快速搜索哦</span>
  6.  
  7. <div class="seleDiv" style="display: none;"><ul><li point="12571893.06640625,3256542.96875" title="您是不是在长沙高新区附近" style="color: rgb(0, 0, 0);">长沙高新区</li></ul></div>
  8.  
  9. </div>
  1.  
  2. $(".seleDiv li").live('mousemove', function () {
  3.  
  4. $(this).css({ "background": "#F0850F", "color": "#FFF" })
  5.  
  6. })
  7.  
  8. $(".seleDiv li").live('mouseout', function () {
  9.  
  10. $(this).css({ "background": "", "color": "#000" })
  11.  
  12. })
  13.  
  14. $(".seleDiv li").live('click', function () {
  15.  
  16. $("#txtKey").val($(this).text());
  17.  
  18. $(".seleDiv").slideUp();
  19.  
  20. var point = $(this).attr("point").split(",");
  21.  
  22. map.setCenter(new sogou.maps.Point(point[0], point[1]), 16);
  23.  
  24. //----------------------- 重复代码需要重构 赶项目暂时这样用着
  25.  
  26. var infowindow = new sogou.maps.InfoWindow();
  27.  
  28. //获取点击位置的坐标
  29.  
  30. var conrXY = new sogou.maps.Point(point[0], point[1]);
  31.  
  32. //500 米内的
  33.  
  34. // var bounds = convertor.bounds(event.point, 250);
  35.  
  36. //绘制圆形
  37.  
  38. //删除之前
  39.  
  40. if (cityCircle) {
  41.  
  42. cityCircle.setMap(null);
  43.  
  44. }
  45.  
  46. var populationOptions = {
  47.  
  48. strokeColor: "#FF0000",
  49.  
  50. strokeOpacity: 0.8,
  51.  
  52. strokeWeight: 2,
  53.  
  54. fillColor: "#FF0000",
  55.  
  56. fillOpacity: 0.35,
  57.  
  58. map: map,
  59.  
  60. center: conrXY,
  61.  
  62. radius: 250
  63.  
  64. };
  65.  
  66. cityCircle = new sogou.maps.Circle(populationOptions);
  67.  
  68. //获取地区
  69.  
  70. GodsPoint = conrXY.toString();
  71.  
  72. //老方法
  73.  
  74. var addsLis = getmapList(conrXY);
  75.  
  76. //新方饭
  77.  
  78. /// var addsLis = getmapList(bounds);
  79.  
  80. if (addsLis == "-1")
  81.  
  82. return;
  83.  
  84. infowindow.setPosition(conrXY);
  85.  
  86. infowindow.setContent(addsLis);
  87.  
  88. infowindow.setTitle("您是不是在:");
  89.  
  90. setTimeout(function () { infowindow.open(map) }, 10);
  91.  
  92. })
  93.  
  94. $(".boxDiv").blur(function () {
  95.  
  96. $(".seleDiv").slideUp();
  97.  
  98. })
  99.  
  100. $(".boxDiv").toggle(function () {
  101.  
  102. $(".seleDiv").slideDown()
  103.  
  104. },
  105.  
  106. function () {
  107.  
  108. $(".seleDiv").slideUp()
  109.  
  110. })
  111.  
  112. var n = -1;
  113.  
  114. $("#txtKey").click(function () {
  115.  
  116. n = -1;
  117.  
  118. if ($(this).val() == "这里可以模糊搜索,比如:软件园") {
  119.  
  120. $(this).val("");
  121.  
  122. }
  123.  
  124. });
  125.  
  126. $("#txtKey").keyup(function () {
  127.  
  128. var theEvent = window.event || arguments.callee.caller.arguments[0]
  129.  
  130. var liSize = $(".seleDiv li").size();
  131.  
  132. var Code = theEvent.keyCode;
  133.  
  134. if (Code == "38" || Code == "40" || Code == "13") {
  135.  
  136. if (Code == "13") {
  137.  
  138. //按回车选定,并加载选择项绑定的坐标
  139.  
  140. $("#txtKey").val($(".seleDiv li").eq(n).text());
  141.  
  142. var point = $(".seleDiv li").eq(n).attr("point").split(",");
  143.  
  144. map.setCenter(new sogou.maps.Point(point[0], point[1]), 16);
  145.  
  146. $(".seleDiv").hide();
  147.  
  148. }
  149.  
  150. else {//按键盘上下控制
  151.  
  152. yongshan = yongshan || new yongshan(jQuery);
  153.  
  154. n = yongshan.setInputEvent("txtKey", Code, liSize, n);
  155.  
  156. }
  157.  
  158. }
  159.  
  160. else {//输入文字--加载提示
  161.  
  162. if ($(this).val().length >= 2) {
  163.  
  164. $(".seleDiv").slideDown();
  165.  
  166. var keyName = $(this).val();
  167.  
  168. var parms = "";
  169.  
  170. parms += "keyName=" + encodeURIComponent(keyName);
  171.  
  172. var url = "/asp/ShopsMaps/SearchAdds/getListByKey/" + parms + "?";
  173.  
  174. var result = ajax(url);
  175.  
  176. result = eval("(" + result + ")");
  177.  
  178. var Outli = "";
  179.  
  180. if (result.Rows.length == 0) {
  181.  
  182. $(".seleDiv").html("<ul><li>没有相关数据</li></ul>");
  183.  
  184. }
  185.  
  186. else {
  187.  
  188. for (var j = 0; j < result.Rows.length; j++) {
  189.  
  190. Outli += "<li title='您是不是在" + result.Rows[j][0] + "附近' point='" + result.Rows[j][1] + "'>" + result.Rows[j][0] + "</li>";
  191.  
  192. }
  193.  
  194. $(".seleDiv").html("");
  195.  
  196. $(".seleDiv").html("<ul>" + Outli + "</ul>");
  197.  
  198. }
  199.  
  200. }
  201.  
  202. else {//展开提示
  203.  
  204. $(".seleDiv").slideUp();
  205.  
  206. }
  207.  
  208. }
  209.  
  210. })//keyup end
  211.  
  212. var yongshan = (function ($) {
  213.  
  214. setInputEvent = function (inputID, Code, ListSize, n) {
  215.  
  216. if (Code == 40) {
  217.  
  218. if (n == ListSize - 1) {
  219.  
  220. n = -1;
  221.  
  222. }
  223.  
  224. n = n + 1;
  225.  
  226. $(".seleDiv li").css("background", "#FFF6CB").eq(n).css("background", "#F0850F");
  227.  
  228. }
  229.  
  230. if (Code == 38) {
  231.  
  232. if (n == 0) {
  233.  
  234. n = ListSize;
  235.  
  236. }
  237.  
  238. n = n - 1;
  239.  
  240. $(".seleDiv li").css("background", "#FFF6CB").eq(n).css("background", "#F0850F");
  241.  
  242. }
  243.  
  244. return n;
  245.  
  246. },
  247.  
  248. getInputVal = function (box) {
  249.  
  250. //增加,修改的时候遍历参数
  251.  
  252. //遍历参数
  253.  
  254. var parList = "";
  255.  
  256. jQuery("#" + box).find(":input").each(function (i) {
  257.  
  258. if (jQuery(this).attr("type") != 'checkbox' && jQuery(this).attr("type") != 'radio' && jQuery(this).attr("name")) {
  259.  
  260. parList = parList + ';' + jQuery(this).attr('name') + '=' + encodeURIComponent(jQuery(this).val());
  261.  
  262. }
  263.  
  264. }); //each end encodeURIComponent
  265.  
  266. jQuery("#" + box).find("input:checked").each(function () {
  267.  
  268. parList += ";" + jQuery(this).attr('name') + '=' + encodeURIComponent(jQuery(this).val());
  269.  
  270. })//each end
  271.  
  272. return parList;
  273.  
  274. }
  275.  
  276. ClearInputVal = function (box) {
  277.  
  278. var parList = "";
  279.  
  280. jQuery("#" + box).find(":input").each(function (i) {
  281.  
  282. $(this).val("");
  283.  
  284. });
  285.  
  286. }
  287.  
  288. return {
  289.  
  290. setInputEvent: setInputEvent,
  291.  
  292. getInputVal: getInputVal,
  293.  
  294. ClearInputVal: ClearInputVal
  295.  
  296. }
  297.  
  298. } (jQuery));
  299.  
  300. var pubobj = {};
  301.  
  302. pubobj.j = 0;
  303.  
  304. pubobj.Brow = {
  305.  
  306. ie: /msie/.test(window.navigator.userAgent.toLowerCase()),
  307.  
  308. moz: /gecko/.test(window.navigator.userAgent.toLowerCase()),
  309.  
  310. opera: /opera/.test(window.navigator.userAgent.toLowerCase()),
  311.  
  312. safari: /safari/.test(window.navigator.userAgent.toLowerCase())
  313.  
  314. };

其它例:http://blog.csdn.net/shiyuezhong/article/details/8060159

js搜索框输入提示(高效-ys8)的更多相关文章

  1. vuejs自定义过滤器根据搜索框输入的值,筛选复杂的列表数据

    如题所示,自定义过滤器根据搜索框输入的值,筛选复杂的列表数据.如图所示: html代码: <input type="text" placeholder="姓名/账号 ...

  2. chosen.jquery.js 搜索框只能从头匹配的解决思路+方法

    chosen.jquery.js 搜索框只能从头匹配的解决思路+方法 心急者请直接看下方 总结 ,由于本问题未能找到直接答案,所以只能通过修改源码解决.故将修改源码思路贴出来供大家参考,在遇到其他改源 ...

  3. 分享一个仅0.7KB的jQuery文本框输入提示插件

    由于项目需要,找过几个jQuery文本框输入提示插件来用,但总是有不满意的地方,要么体积较大,要么使用不便,要么会出现把提示文字作为文本框的值的情况.于是我们自己的开发团队制作了这个最精简易用的输入提 ...

  4. ASP.NET JQuery 随笔-搜索框默认提示

    一.文本框中创建默认文本提示 通常用户在搜索内容时,在文本框输入内容前,文本框都会给出默认提示,提示用户输入正确的内容进行搜索. 当文本框获得焦点,如果文本框内容跟提示内容一样,提示内容会自然消失. ...

  5. Jquery实现文本框输入提示

    一些用户体验好的表单都会在文本框里设置输入提示,文本框获取焦点时,提示内容消息,如果未输入,失去焦点时又会出现提示. 网上找到一个比较好用的控件jquery.inputDefault.js 使用方法: ...

  6. Ternary Search Tree 应用--搜索框智能提示

    前面介绍了Ternary Search Tree和它的实现,那么可以用Ternary Search Tree来实现搜索框的只能提示,因为Ternary Search Tree的前缀匹配效率是非常高的, ...

  7. 转摘:ashx+jquery-autocomplete文本框输入提示功能Asp.net

    引入所需文件 <script type="text/javascript" src="JS/jquery-1.8.2.min.js"></sc ...

  8. Servlet+Ajax实现搜索框智能提示

    简介:搜索框相信大家都不陌生,几乎每天都会在各类网站进行着搜索.有没有注意到,很多的搜索功能,当输入内容时,下面会出现提示.这类提示就叫做搜索框的智能提示,本门课程就为大家介绍如何使用Servlet和 ...

  9. bootstrap-select搜索框输入中文

    bootstrap-select 的搜索框无法输入中文,解决办法: 删除源码中这两行代码 that.$lis.not('.hidden, .divider, .dropdown-header').eq ...

随机推荐

  1. Python基本数据类型之tuple

    一.创建元组: ages = (11, 22, 33, 44, 55) ages = tuple((11, 22, 33, 44, 55)) 元组和列表几乎一样 元组的元素不可修改,但是元组元素的元素 ...

  2. ecshop 远程图片本地化

    define('IN_ECS', true); require(dirname(__FILE__) . '/includes/init.php'); $smarty->assign('siteD ...

  3. myeclipse 破解步骤

    Fllow Orders.0. Close MyEclipse Application(if you wanna replace jar file).1. Fill usercode2. Fill s ...

  4. (新手向)基于Bootstrap的简单轮播图的手机实现

    个人电脑里存了不少适合手机欣赏的图片,但是放手机里看是件很占据资源的事.鉴于家里有一台电脑经常开着,正好用来做家庭局域网共享,于是笔者就设想通过一种比较简单环保的思路.通过手机访问电脑内的图片. 首先 ...

  5. Mysql 与 Python socket

    py1.py # -*- coding: utf-8 -*- import sqlalchemy import tushare import pandas import socket import s ...

  6. zepto.js的事件处理

    能够深入理解zepto对事件的处理,那么整个JS的事件处理就应该差不多合格了,事件处理是JS语言的一个难点. 1. 首先来看$.event函数. JS中有很多事件,都是已经定义好了,我们直接调用就可以 ...

  7. One Night Ultimate Werewolf Daybreak

    http://beziergames.com/products/replacement-tiles-tokens-for-one-night-ultimate-werewolf http://www. ...

  8. centos 7.0 修改ssh默认连接22端口 和 添加防火墙firewalld 通过端口

    首先 先做的就是 修改ssh的默认端口22 需要修改文件 /etc/ssh/sshd_config 使用命令 vi /etc/ssh/sshd_config [root@localhost ~]# v ...

  9. OC-id、构造方法

    id 简介 万能指针,能指向任何OC对象,相当于NSObject * id类型的定义 typedef struct objc_object { Class isa; } *id; 使用 // 注意:i ...

  10. IE禁用Cookie后的session处理

    IE禁用Cookie后解决方案:URL重写 购物车案例<IE禁用Cookie后> 购物界面ShowBook.servlet public void doGet(HttpServletReq ...