JQueryUI自动补全 搜索提示实践
来源:互联网 发布:visio是什么软件 编辑:程序博客网 时间:2024/05/25 05:36
最近在做航运运价平台,有一个业务逻辑是需要在搜索的时候有搜索提示的,没法子,没写过,在找了很久解决方案还没有找到,快崩溃了的时候,忽然发现了jquery UI 的自动补全机制,完全符合啊,大救星。
首先描述下用户的需求,这里我们需要的是输入港口的英文名称或中文名称,然后出现搜索提示,当用户点击后,只将英文的放入搜索框中,因为运价里的港口都是英文字符,没有中文字符。
所以,我需要做的就是:1.将港口全部录入数据库 2.在用户输入的时候显示搜索提示 3.用户点击后显示英文字符。
OK,逻辑很清晰,开始动工。
数据输入数据库,这一步就不赘述了。
搜索提示的时候,用的是JQueryUI的自动补全机制
1. 对我们的输入表单应用自动补全。
$('#startport').autocomplete(option);2. 从服务器端获取数据源,我这里应用ajax异步请求数据
/**************数据源为ajax返回的值**********************/source: function(request, callback) {var data = "term=" + request.term;$('#result').html(data);/*************ajax请求数据************************/$.get(appPath + "/Street/startportSearchTips", data, function(data) { var response = data.content;var tips = [];$(response).filter('li').each(function() {tips.push($(this).text());});callback(tips);});},服务器端:
$querystring = $_GET['term']; if(strlen($querystring) >0) { $condition['portname'] = array('like', "%$querystring%"); $result = $startDB->where($condition)->limit(5)->select(); $data['status'] = 0; foreach($result as $key => $value){ $data['content'] .= '<li>'.$value['portname'].'</li>'; } $data['term'] = $_GET['term']; $this->ajaxReturn($data); }else{ $data = array('status' => 0, 'content' => '没有匹配'); $data['test'] = "没有匹配"; $data['term'] = $_GET['term']; $this->ajaxReturn($data); }当服务器检索到数据后,按格式用ajax返回,然后在js里面接收,再转变成数组的形式,用回调函数返回给source,作为数据源
3. 让建议列表更好看点,设置下样式,这里是淡出的特效
/****************打开建议列表时的样式设置***************************/ open:function(event){ var $ul = $(this).autocomplete('widget'); $ul.css('width', '200px'); $ul.css('font-size', '14px'); $ul.css('font-family', '微软雅黑'); $ul.hide().slideDown(1000); },4. 最后一步,选择某一项时,只上去英文字符,因为数据库中是间隔空格分开的,所以这里用空格截取
/****************在选择某一项的时候,只显示英文字符*****************/select: function(event, ui) {//截取英文字符var str = ui.item.value.substr(0, ui.item.value.indexOf(' '));return ui.item.value = str;}
最后的效果:
可以去我们的网站看看:《订单工厂》搜索提示演示
Tony, 2014.10.13 于TCS工作室
0 0
- JQueryUI自动补全 搜索提示实践
- JqueryUI AutoComplate实现文本框搜索,自动补全效果
- JqueryUI Autocomplete 自动补全实例
- jquery autocomplete 搜索框提示 输入自动补全
- 仿百度搜索框自动补全智能提示效果
- 自动补全 jqueryUi 的autocomplete部件,中文不灵敏问题
- jqueryui autocomplete结合AJAx实现自动补全
- 搜索框自动补全
- eclipse自动提示补全
- Eclipse-自动补全提示
- eclipse自动提示+自动补全
- vim 自动补全和自动提示
- eclipse自动提示+自动补全
- vim 自动补全和自动提示
- eclipse自动提示+自动补全
- AJAX实现类似百度的搜索提示,自动补全和键盘、鼠标操作
- JQuery UI autocomplete自动补全插件搜索结果去除提示
- 各大搜索引擎智能提示API (JSONP跨域实现自动补全搜索建议)
- 快速傅立叶变换的意义及应用
- CSS基础详解1
- ios 的网络篇
- HDFS中JAVA API的使用(hadoop的文件上传和下载)
- 哪有电话吸费 声讯电话平台 2014暴利
- JQueryUI自动补全 搜索提示实践
- IOS开发------图片浏览器之MVC设计模式
- HDU 1081 To The Max
- 吸费电话增值电话设备 声讯平台 欢迎您的加盟
- 开源项目和开源类库
- 深入理解.NET的垃圾回收(GC)机制
- 哪有加值电话 吸费电话原理 声讯电话平台
- 声讯电话合作 真的电话吸费 回拨吸费手机
- try catch finally详解