做一个和google一样可以输前显示,做一个联想词语的小东西。
以下的代码都是摘抄我的工作中写的东西,但是足于能够看明白.
环境: java struts2 json jquery jquery.ajax
jsp:
<td class="td_input"><input type="text" name="entity.customer" size="15" class="inputclassid" onkeyup="search()" id="customer" value="${entity.customer}" />
<div id="suggest" style="display:none"></div>
js:
function search(){
var str=document.getElementById("customer").value;
//hide search
if(str==""){
document.getElementById('suggest').style.display='none';
return;
}else{
//display the suggest
document.getElementById('suggest').style.display='';
}
var suplist;
var info;
jQuery.ajax({
type: "post",
dataType: "json",
url: jQuery("#_path").val()+"/customer/customer!culist.action",
data: {"filter_LIKE_customername":str},
async: false,
success: function(data){
var result="";
info = data.supplier;
jQuery.each(info,function(i,n){
result+='<div onmouseover="javascript:suggestOver(this);"';
result+='onmouseout="javascript:suggestOut(this);"';
result+='onclick="javascript:setSearch('+n.id+',this.innerHTML);"';
result+='class="suggest_link">'+n.customername+'</div>';
});
document.getElementById("suggest").innerHTML=result;
}
});
}
//mouse over function
function suggestOver(div_value){
div_value.className='suggest_link_over';
}
//mouse out function
function suggestOut(div_value){
div_value.className='suggest_link';
}
//click function
function setSearch(cuid,value){
setothervalue(cuid);
document.getElementById('customer').value=value;
document.getElementById('suggest').innerHTML='';
document.getElementById('suggest').style.display='none';
}
//查出数据库中这条记录的详细信息, 然后赋于其值
function setothervalue(cuid)
{
var suplist;
jQuery.ajax({
type: "post",
dataType: "json",
url: jQuery("#_path").val()+"/customer/customer!getCustomerinfo.action",
data: {"id":cuid},
async: false,
success: function(info){
$("#customerid").val(info.id);
$("#linkman").val(info.linkman);
$("#linkaddress").val(info.linkaddress);
$("#tel").val(info.tel);
}
});
}
OnDocumentClick=function(event){
if(!event){
event=window.event;//ie
}
var e=event.target;//for firefox
if(!e){
e=event.srcElement;//for ie
}
while(e){
//only if event source is on search_suggest or the search box
//the popup div will not be hidden
if(e==document.getElementById('suggest')||e==document.getElementById('customer')){
return;
}
e=e.parentNode;
}
document.getElementById('suggest').style.display="none";
}
//for ie
try{
document.onclick=OnDocumentClick;
}catch(e){
}
//for firfox(core Gecko)
try{
document.addEventListener('click',OnDocumentClick,true);
}catch(e){
}
java:
public String culist() throws Exception {
HttpServletRequest request = Struts2Utils.getRequest();
HttpServletResponse response = Struts2Utils.getResponse();
List<PropertyFilter> filters = HibernateWebUtils.buildPropertyFilters(request);
page = customerManager.search(page, filters);
response.setContentType("text/html");
response.setCharacterEncoding("UTF-8");
PrintWriter out=response.getWriter();
List <Customer>list=page.getResult();
StringBuffer strb = new StringBuffer("{\"supplier\":[");
for(Customer cu:list)
{
strb.append("{\"id\":\""+cu.getId()+"\",\"customername\":\""+cu.getCustomername()+"\",\"linkman\":\""+cu.getLinkman()+"\",\"linkaddress\":\""+cu.getLinkaddress()+"\",\"tel\":\""+cu.getTel()+"\"},");
}
strb.replace( strb.length()-1, strb.length(), "");
strb.append("]}");
out.println(strb.toString());
out.flush();
out.close();
return "";
}
public String getCustomerinfo() throws Exception {
HttpServletResponse response = Struts2Utils.getResponse();
response.setContentType("text/html");
response.setCharacterEncoding("UTF-8");
PrintWriter out=response.getWriter();
entity=customerManager.get(id);
StringBuffer strb = new StringBuffer();
strb.append("{\"id\":\""+entity.getId()+"\",");
strb.append("\"customername\":\""+entity.getCustomername()+"\",");
strb.append("\"linkman\":\""+entity.getLinkman()+"\",");
strb.append("\"linkaddress\":\""+entity.getLinkaddress()+"\",");
strb.append("\"tel\":\""+entity.getTel()+"\"");
strb.append("}");
out.println(strb.toString());
out.flush();
out.close();
return "";
}
分享到:
相关推荐
本实例将探讨如何将这两者整合,通过AJAX技术实现一个仿Google Suggest的自动补全功能,该功能通常用于输入框中,为用户提供动态搜索建议。我们将详细解析这个实例中的各个组成部分。 首先,`index.jsp`是用户界面...
在本篇博客“jQuery学习记录----仿GoogleSuggest自动提示(八)”中,作者分享了如何使用jQuery实现一个类似于Google搜索框中的自动提示功能。这个功能是许多网站上常见的用户体验提升工具,它允许用户在输入关键词...
**jQuery 实例5:仿 Google Suggest 自动补全** 在网页开发中,提供自动补全功能能够极大地提升用户体验,尤其是在搜索或者输入框输入时。Google 的搜索建议就是这一功能的经典应用,它能够根据用户输入的关键词...
8. **仿GoogleSuggest自动补全**: 这种功能常见于搜索框,当用户输入时动态提供建议。创建一个简单的版本,首先设置输入框的`keyup`事件: ```javascript $('#searchInput').on('keyup', function() { var ...
4. **接收并处理响应**:前端接收到服务器的响应后,解析数据,并将建议列表渲染到页面上,通常是在输入框下方显示一个下拉列表。 5. **用户体验优化**:为了提升用户体验,可以设置一些附加功能,比如延迟发送请求...
jQuery Suggest 插件是一种强大的前端开发工具,它能够为用户在输入框中提供实时的建议和匹配,类似于百度和Google搜索的自动补全功能。这种功能对于提高用户体验、简化用户输入过程具有显著效果。在网页应用中,它...
Ajax模仿google提示输入框 使用说明 v1.8 本程序由飞飞asp乐园编写 ************************************************* 特别感谢: 一杯白开水 网友 的帮助 版本所提的修改建议 *********************************...
jQuery Suggest插件还支持多种高级特性,如自定义显示模板、过滤逻辑、回调函数等,可以根据实际需求进行配置。例如,可以设置一个模板来展示建议项的样式: ```javascript $("#searchInput").suggest({ source: ....
此小程序是模仿Google输入提示框所编写 亦可用于用户注册邮箱时的提示 此程序使用方便简单、易用灵活 且不限Asp、php、net 文件使用说明: 在需要使用的页面首先要引用2个js文件 <script src="jquery1.2.3.min.js"> ...
### 输入框信息提示的实现(仿google、百度搜索框) #### 概述 本文将详细介绍如何实现一个类似于Google和百度搜索框的输入框信息提示功能。该功能可以在用户输入文字时,从数据库中获取相关建议并实时展示,极大...
**Ajax仿Google信息提示技术详解** 在Web开发中,用户交互体验是至关重要的,而Google信息提示(Autocomplete)功能就是一个提升用户体验的经典案例。通过Ajax技术,我们可以实现类似Google搜索框那样实时、高效的...
16.当输入框失去焦点时,提示框会自动隐藏 ######V1.8解决问题############ 17.解决了鼠标无法选择的问题 ****************************************************************** 文件使用说明: 在需要使用的页面...
谷歌建议(Google Suggest)是一项在线搜索功能,它在用户输入查询时实时提供可能的搜索建议。这个项目基于jQuery库实现,使得用户在输入框中输入中文时也能得到相关的搜索建议。jQuery是一个广泛使用的JavaScript库...
2. **自动匹配(Auto Matching)**:这是指当用户在输入框中输入文本时,系统能自动识别并显示与输入文本相匹配的建议。这种功能通常依赖于JavaScript的事件监听,如`onkeyup`或`oninput`,来捕捉用户的输入变化,并...
实现“仿携程网城市输入框,支持中文/拼音/3字码 输入的智能提示”涉及到的技术点包括:前端交互设计、HTML/CSS基础、JavaScript事件处理、数据匹配算法、中文转拼音处理、三字码查询、异步通信(AJAX)、前端缓存...
这个 JavaScript 文件是 `jQuery UI` 插件的定制版本,它会监听输入事件,向后端发送 AJAX 请求,然后接收返回的数据,将结果显示在输入框下方的列表中。 **5. 实时加载反馈** `loading.jpg` 文件可能是加载动画,...
【jQuery制作Google搜索似的Suggest控件】 在Web开发中,提供实时的搜索建议功能能够极大地提升用户体验,尤其是在处理大量数据或复杂查询时。Google的搜索建议就是一个经典的例子,它能够在用户输入时快速显示相关...
3. **CSS样式**:"jquery.suggest.css"是用于定制自动补全框外观的样式文件,它定义了提示列表的样式,如颜色、字体、布局等,使得补全结果更具视觉吸引力。 4. **HTML结构**:"demo.htm"和"list.htm"可能是包含...
本篇文章将深入探讨如何使用jQuery来实现一个自动提示的文本框功能,这种功能常见于搜索框或者输入框,可以为用户提供即时的建议或相关搜索词。 一、jQuery基础 在开始之前,确保你已经在项目中引入了jQuery库。你...
- 下拉提示(Auto-Suggest or Dropdown List):当用户在输入框中输入文字时,系统自动展示与输入内容相关的建议列表,用户可以从中直接选择,而无需完整输入。 2. **实现方式**: - JavaScript:通过监听输入框...