`
zhzhiqun2005
  • 浏览: 227248 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

jquery 输前显示 ajax 输入框提示 仿Google Suggest的例子

阅读更多
做一个和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 "";
	}
2
0
分享到:
评论
1 楼 corsair5iam 2010-10-28  
很好,赞一个,如果能分享一下“inputclass”,“suggest_link_over”,“suggest_link”的css样式就更好了

相关推荐

    java与jQuery整合ajax仿googleSuggest自动补全实例

    本实例将探讨如何将这两者整合,通过AJAX技术实现一个仿Google Suggest的自动补全功能,该功能通常用于输入框中,为用户提供动态搜索建议。我们将详细解析这个实例中的各个组成部分。 首先,`index.jsp`是用户界面...

    jQuery学习记录----仿GoogleSuggest自动提示(八)

    在本篇博客“jQuery学习记录----仿GoogleSuggest自动提示(八)”中,作者分享了如何使用jQuery实现一个类似于Google搜索框中的自动提示功能。这个功能是许多网站上常见的用户体验提升工具,它允许用户在输入关键词...

    jquery实例5:仿Google Suggest自动补齐

    **jQuery 实例5:仿 Google Suggest 自动补全** 在网页开发中,提供自动补全功能能够极大地提升用户体验,尤其是在搜索或者输入框输入时。Google 的搜索建议就是这一功能的经典应用,它能够根据用户输入的关键词...

    jquery实现的AJAX的一些例子

    8. **仿GoogleSuggest自动补全**: 这种功能常见于搜索框,当用户输入时动态提供建议。创建一个简单的版本,首先设置输入框的`keyup`事件: ```javascript $('#searchInput').on('keyup', function() { var ...

    Ajax自动完成,GoogleSuggest。

    4. **接收并处理响应**:前端接收到服务器的响应后,解析数据,并将建议列表渲染到页面上,通常是在输入框下方显示一个下拉列表。 5. **用户体验优化**:为了提升用户体验,可以设置一些附加功能,比如延迟发送请求...

    jquery suggest插件

    jQuery Suggest 插件是一种强大的前端开发工具,它能够为用户在输入框中提供实时的建议和匹配,类似于百度和Google搜索的自动补全功能。这种功能对于提高用户体验、简化用户输入过程具有显著效果。在网页应用中,它...

    Ajax 模仿google百度提示输入框 v1.8

    Ajax模仿google提示输入框 使用说明 v1.8 本程序由飞飞asp乐园编写 ************************************************* 特别感谢: 一杯白开水 网友 的帮助 版本所提的修改建议 *********************************...

    jquery suggest 自动补全插件演示

    jQuery Suggest插件还支持多种高级特性,如自定义显示模板、过滤逻辑、回调函数等,可以根据实际需求进行配置。例如,可以设置一个模板来展示建议项的样式: ```javascript $("#searchInput").suggest({ source: ....

    Ajax模仿google提示输入框

    此小程序是模仿Google输入提示框所编写 亦可用于用户注册邮箱时的提示 此程序使用方便简单、易用灵活 且不限Asp、php、net 文件使用说明: 在需要使用的页面首先要引用2个js文件 &lt;script src="jquery1.2.3.min.js"&gt; ...

    输入框信息提示的实现(仿google、百度搜索框)(转载)

    ### 输入框信息提示的实现(仿google、百度搜索框) #### 概述 本文将详细介绍如何实现一个类似于Google和百度搜索框的输入框信息提示功能。该功能可以在用户输入文字时,从数据库中获取相关建议并实时展示,极大...

    Ajax仿google信息提示

    **Ajax仿Google信息提示技术详解** 在Web开发中,用户交互体验是至关重要的,而Google信息提示(Autocomplete)功能就是一个提升用户体验的经典案例。通过Ajax技术,我们可以实现类似Google搜索框那样实时、高效的...

    Ajax模仿google提示输入框 v1.8

    16.当输入框失去焦点时,提示框会自动隐藏 ######V1.8解决问题############ 17.解决了鼠标无法选择的问题 ****************************************************************** 文件使用说明: 在需要使用的页面...

    google suggest(支持中文)

    谷歌建议(Google Suggest)是一项在线搜索功能,它在用户输入查询时实时提供可能的搜索建议。这个项目基于jQuery库实现,使得用户在输入框中输入中文时也能得到相关的搜索建议。jQuery是一个广泛使用的JavaScript库...

    仿google下拉框自动提示(匹配)ajax无错读取数据库

    2. **自动匹配(Auto Matching)**:这是指当用户在输入框中输入文本时,系统能自动识别并显示与输入文本相匹配的建议。这种功能通常依赖于JavaScript的事件监听,如`onkeyup`或`oninput`,来捕捉用户的输入变化,并...

    仿携程网城市输入框,支持中文/拼音/3字码 输入的智能提示

    实现“仿携程网城市输入框,支持中文/拼音/3字码 输入的智能提示”涉及到的技术点包括:前端交互设计、HTML/CSS基础、JavaScript事件处理、数据匹配算法、中文转拼音处理、三字码查询、异步通信(AJAX)、前端缓存...

    Jquery autosuggest 模糊搜索 提示

    这个 JavaScript 文件是 `jQuery UI` 插件的定制版本,它会监听输入事件,向后端发送 AJAX 请求,然后接收返回的数据,将结果显示在输入框下方的列表中。 **5. 实时加载反馈** `loading.jpg` 文件可能是加载动画,...

    利用jquery制作google搜索一样的suggest控件

    【jQuery制作Google搜索似的Suggest控件】 在Web开发中,提供实时的搜索建议功能能够极大地提升用户体验,尤其是在处理大量数据或复杂查询时。Google的搜索建议就是一个经典的例子,它能够在用户输入时快速显示相关...

    jquery 自动补全例子

    3. **CSS样式**:"jquery.suggest.css"是用于定制自动补全框外观的样式文件,它定义了提示列表的样式,如颜色、字体、布局等,使得补全结果更具视觉吸引力。 4. **HTML结构**:"demo.htm"和"list.htm"可能是包含...

    jquery实现自动提示的文本框

    本篇文章将深入探讨如何使用jQuery来实现一个自动提示的文本框功能,这种功能常见于搜索框或者输入框,可以为用户提供即时的建议或相关搜索词。 一、jQuery基础 在开始之前,确保你已经在项目中引入了jQuery库。你...

    输入框下拉提示

    - 下拉提示(Auto-Suggest or Dropdown List):当用户在输入框中输入文字时,系统自动展示与输入内容相关的建议列表,用户可以从中直接选择,而无需完整输入。 2. **实现方式**: - JavaScript:通过监听输入框...

Global site tag (gtag.js) - Google Analytics