输入框智能提示(一)
来源:互联网 发布:app 实时数据展示页面 编辑:程序博客网 时间:2024/05/17 08:49
摘自:http://www.zhaochao.top/iBlog/article.html?id=77
这里使用select实现,之后会更新使用ul和li实现的代码
效果如下:
代码(部分核心代码):
var data = [ {'data': '1122334'}, {'data': '122334'}, {'data': '1122334'}, {'data': '11565334'}, {'data': '113422345'}, {'data': '1234'}, {'data': '4521'}, {'data': '27736211'}, {'data': '832113124223'}, {'data': '中国'}, {'data': '中国地理'}, {'data': '中国地理位置'}, ];var ckList;$(function () { ckList = getCfCkMcList(""); data = searchData(data, '', true); var f = false; $('.searchNotice').hover(function () { f = true; }, function () { f = false; }); $('.searchNotice').click(function () { $('#searchInfo').val($(this).val()); $(this).hide(); }); $('#searchInfo').blur(function () { /*setTimeout(function () { $('.searchNotice').hide(); }, 100);*/ if (!f) { $('.searchNotice').hide(); } });});/** * 搜索框智能提示 * @returns */function notice () { var max = 20; var res = { 'list': [] }; var info = $('#searchInfo').val().trim(); if (info != null || info != "") { if (info.length >= 1) { data = searchData(data, info, false); var t = 0; for(var i = 0; i < data.length; i++) { if (t >= max) { break; } if (data[i].data.indexOf(info) > -1) { t++; var temp = { 'order': data[i].data.indexOf(info), 'content': data[i].data, } res.list.push(temp); } } res.list.sort(function (a, b) { return a.order - b.order; }); $('.searchNotice').empty(); if (res.list == null || res.list.length == 0) { $('.searchNotice').empty().hide(); return; } $.each(res.list, function (i, e) { $('.searchNotice').append('<option title="' + e.content + '">' + e.content + '</option>') }); $('.searchNotice').show(); } if (info.length < 1) { $('.searchNotice').empty().hide(); } } else { $('.searchNotice').empty().hide(); } }var flag;function searchData(data, info, first) { if (flag == info) { return data; } else { flag = info; } var phList, jgdwList; data = []; if (first == true) { phList = loadMhPhList("65"); jgdwList = loadJgdwMcList("新疆"); } else { if (/^\d*$/.test(info)) { phList = loadMhPhList(info); } else { jgdwList = loadJgdwMcList(info); } } if (phList != null) { data = addData(data, phList); } data = addData(data, ckList); if (jgdwList != null) { data = addData(data, jgdwList); } return data;}function addData(data, source) { for (var i = 0; i < source.length; i++) { data.push(source[i]); } return data;}
更多技术资源请访问 http://www.zhaochao.top
阅读全文
0 0
- 输入框智能提示(一)
- 输入框智能提示(二)
- ComboBox框输入智能提示
- Ajax 输入框智能提示
- input文本框输入框智能文字提示
- WPF智能输入提示
- bootstrap仿百度输入框智能提示(提示信息存在于数据库中)
- 智能提示(一) Solr (suggest)
- ajax(2)实现智能输入提示(类似百度搜索框智能输入)
- 基于 jQuery & CSS3 实现智能提示输入框光标位置
- 仿百度输入框智能提示的js代码
- jquery实现input输入框输入值自动智能提示的实现
- 文本框输入下拉智能提示---sql
- PyQt: LineEdit的智能输入提示
- AutoComplete.js输入智能提示插件
- combobox智能提示框
- 使用jquery 实现 仿google 的智能提示输入框功能
- 使用jquery 实现 仿google 的智能提示输入框功能 (改进版本)
- 单件模式
- 重点相关计算公式
- 聊聊时下最热门应用的11种设计模式
- Ubuntu16.04进行MySQL5.7-deb包的安装
- SpringBoot 使用jackjson入门
- 输入框智能提示(一)
- nginx详解
- select和datalist的区别
- QT 使用自己的可以点击的label
- 10行原生JS实现文字无缝滚动
- Swift泛型在协议中的使用
- Spring中AOP的两种代理方式(Java动态代理和CGLIB代理)
- 学生成绩管理系统【C语言程序设计】
- nodeJs 实现爬取网页信息