jquery 仿百度搜索下拉框的插件
转载地址:http://www.open-open.com/lib/view/open1420624048437.html
今天写了个下拉插件分享出来
效果: , 可以搜素,也可以使用上下键选择匹配出来的值
css
.select4_box { border: 1px solid #5897fb; position: absolute; width: 250px; background: #fff; border-radius: 4px; -webkit-box-shadow: 0 4px 5px rgba(0, 0, 0, .15); box-shadow: 0 4px 5px rgba(0, 0, 0, .15); z-index: 9999; } .select4_box ul { padding: 0px; margin: 5px; } .select4_box ul li { list-style: none; padding: 3px 7px 4px; cursor: pointer; } .select4_box ul li:hover { background: #51A9A9; color: #fff; } .select4_box ul li.active { background: #3875d7; color: #fff; }
html
<input type="text" name="Shoushuid" class="Shoushuid" autocomplete="off"> <input type="text" name="Jiancha_xiangmu" class="Jiancha_xiangmu" autocomplete="off">
jQuery插件
(function ($) { $.fn.extend({ select4: function (options) { var defaults = { ajax_url: true } var options = $.extend(defaults, options); return this.each(function () { $(".h2").remove(); var mythis = $(this); $(document).on("click", ".select4_box li", function () { mythis.val($(this).text()); $(".select4_box").remove(); }); $(document).click(function (event) { $(".select4_box").remove(); }); $(".select4_box").click(function (event) { event.stopPropagation(); }); mythis.click(function (event) { var val = $(this).val(); console.log(val); var mythis = $(this); var width = $(this).width() + 14 + "px"; var top = $(this).position().top + 30; var left = $(this).position().left; $.ajax({ url: options.ajax_url, dataType: "json", data: {name: val}, success: function (json) { if (json.data) { var html = '<div class="select4_box"><ul>'; $.each(json.data, function (k, v) { html += '<li alt="' + v.id + '">' + v.name + '</li>'; }); html += '</ul></div>' $(".select4_box").remove(); mythis.after(html); $(".select4_box").css({top: top, left: left, width: width}); } } }); }); mythis.keyup(function (event) { if (event.keyCode == 40) { var index = $(".select4_box li.active").index() + 1; $(".select4_box li").eq(index).addClass('active').siblings().removeClass('active'); mythis.val($(".select4_box li.active").text()); } else if (event.keyCode == 38) { var index = $(".select4_box li.active").index() - 1; if (index ) { index = $(".select4_box li").length - 1; } $(".select4_box li").eq(index).addClass('active').siblings().removeClass('active'); mythis.val($(".select4_box li.active").text()); } else if (event.keyCode == 13) { event.stopPropagation(); alert($(".select4_box li.active").text()); mythis.val($(".select4_box li.active").text()); return false; } else { mythis.trigger("click"); } }); }); } }); })(jQuery);
使用
<script> $(function(){ //ajax_url是这个input绑定的ajax数据地址 $(".Jiancha_xiangmu").select4({"ajax_url":"/jiancha/select"}); $(".Shoushuid").select4({"ajax_url":"/jiancha/select"}); }); </script>
这个ajax的数据必须是这种格式的,当然你也可以改,插件那里我写的应该都能看懂
ajax数据,我后台使用的是go语言,你也可以换成你熟悉的语言
func (this *JianchaController) Select() { var name = this.GetString("name") where := models.NewWhere() if name != "" { where["like__name"] = "%" + name + "%" } data, _ := models.M("jiancha").Where(where).Select() this.AjaxReturn(1, "ok", data) }
jquery 仿百度搜索下拉框的插件的更多相关文章
- z-blog博客组插件openSug.js百度搜索下拉框提示代码
z-blog安装openSug插件即可获得带有“搜索框提示”功能的搜索框,让z-blog搜索更便捷! https://www.opensug.org/.../opensug_z-blog_v1.0 ...
- Dropdown.js基于jQuery开发的轻量级下拉框插件
Dropdown.js 前言 在SPA(Single Page Application)盛行的时代,jQuery插件的轮子正在减少,由于我厂有需求而开发了这个插件.如果觉得本文对您有帮助,请给个赞,以 ...
- Springboot+Vue实现仿百度搜索自动提示框匹配查询功能
案例功能效果图 前端初始页面 输入搜索信息页面 点击查询结果页面 环境介绍 前端:vue 后端:springboot jdk:1.8及以上 数据库:mysql 核心代码介绍 TypeCtrler .j ...
- jQuery自定义漂亮的下拉框插件8种效果演示
原始的下拉框不好看这里推荐一个jQuery自定义漂亮的下拉框插件8种效果演示 在线预览 下载地址 实例代码 <!DOCTYPE html> <html lang="en&q ...
- jquery选中将select下拉框中一项后赋值给text文本框
jquery选中将select下拉框中一项后赋值给text文本框,出现无法将第一个下拉框的value赋值给文本框 因为select默认选中第一项..在选择第一项时,便导致无法激发onchange事件. ...
- jquery+html三级联动下拉框
jquery+html三级联动下拉框及详情页面加载时的select初始化问题 html写的三个下拉框,如下: <select name="ddlQYWZYJ" id=&q ...
- 基于jQuery select下拉框美化插件
分享一款基于jQuery select下拉框美化插件.该插件适用浏览器:IE8.360.FireFox.Chrome.Safari.Opera.傲游.搜狗.世界之窗.效果图如下: 在线预览 源码下 ...
- ComboBox可搜索下拉框的使用注意事项,简单记录以及我遇到的一些奇怪的bug
前几天做一个react的项目的时候需要用一个可搜索的下拉框ComboBox,上代码: <ComboBox // className={comboxClassName} items={storeA ...
- layui-table-column-select(layui数据表格可搜索下拉框select)
layuiTableColumnSelect 在layui table的基础上对表格列进行扩展:点击单元格显示可搜索下拉列表. 码云地址:https://gitee.com/yangqianlong9 ...
随机推荐
- 利用php的register_shutdown_function来记录php的输出日志
最近在做的一个项目..由于全是通过远程http请求来调用php的接口程序.. 接收到的参数和返回的内容对开发人员来说都是未知不可见的.. 虽然可以通过直接在脚本中模拟请求..但由于实际环境复杂的多.. ...
- NUI四种提交数据方式c
方式一: 1)前端页面 2)逻辑流参数设置 方式二: 1)前端页面 2)逻辑流参数设置 方式三: 1)前端页面 2)逻辑流参数设置 方式四: 1)前端页面 2)逻辑流参数设置
- Tomcat 7最大并发连接数的正确修改方法
这是个很简单的问题,但是搜了一圈,发现大家都写错了.所以这里总结一下: 几乎所有的中文网页都介绍,要修改Tomcat的默认最大并发连接数,应该进行如下设置(实际上这些步骤是错误的): -------- ...
- 【leetcode】Dungeon Game
Dungeon Game The demons had captured the princess (P) and imprisoned her in the bottom-right corner ...
- Shell 读取文本内容
在Linux中有很多方法逐行读取一个文件的方法,其中最常用的就是下面的脚本里的方法,而且是效率最高,使用最多的方法.为了给大家一个直观的感受,我们将通过生成一个大的文件的方式来检验各种方法的执行效率. ...
- Unity3d 制作物品平滑运动
直接贴代码了 using UnityEngine; using System; using System.Collections; using System; using DataTable; pub ...
- ACM/ICPC 之 优先级队列+设置IO缓存区(TSH OJ-Schedule(任务调度))
一个裸的优先级队列(最大堆)题,但也有其他普通队列的做法.这道题我做了两天,结果发现是输入输出太过频繁,一直只能A掉55%的数据,其他都是TLE,如果将输入输出的数据放入缓存区,然后满区输出,可以将I ...
- FFmpeg-20160413-snapshot-bin
ESC 退出 0 进度条开关 1 屏幕原始大小 2 屏幕1/2大小 3 屏幕1/3大小 4 屏幕1/4大小 S 下一帧 [ -2秒 ] +2秒 ; -1秒 ' +1秒 下一个帧 -> -5秒 F ...
- ASM:《X86汇编语言-从实模式到保护模式》第12章:存储器的保护
12章其实是11章的拓展,代码基本不变,就是在保护模式下展开讨论. ★PART1:存储器的保护机制 1. 修改段寄存器的保护 当执行把段选择子传到段寄存器的选择器部分的时候,处理器固件在完成传送之前, ...
- Javascript中最常用的55个经典技巧(转)
1. oncontextmenu="window.event.returnValue=false" 将彻底屏蔽鼠标右键 <table border oncontextmenu ...