jquery插件自动填充

抽时间做了一个jquery的自动填充插件的demo,有时候我们很多项目都要用到类似的功能。

效果如图:

具体思路就是,在form表单中 当我们输入查询数据结束后 会触发onkeyup事件,在相应的js函数中,请求后台数据,做出相应的处理。

部分代码如下:

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Ajax Auto Suggest</title>

<script type="text/javascript" src="jquery-1.2.1.pack.js"></script>
<script type="text/javascript">
	function lookup(inputString) {
		if(inputString.length == 0) {
			// Hide the suggestion box.
			$('#suggestions').hide();
		} else {
			$.post("testServlet", {queryString: ""+inputString+""}, function(data){
				if(data.length >0) {
					$('#suggestions').show();
					$('#autoSuggestionsList').html(data);
				}
			});
		}
	} // lookup
	
	function fill(thisValue) {
		$('#inputString').val(thisValue);
		setTimeout("$('#suggestions').hide();", 200);
	}
</script>

<style type="text/css">
	body {
		font-family: Helvetica;
		font-size: 11px;
		color: #000;
	}
	
	h3 {
		margin: 0px;
		padding: 0px;	
	}

	.suggestionsBox {
	   
	    border:3px;
		position: relative;
		left: 0px;
		margin: 10px 0px 0px 0px;
		width: 200px;
		background-color: #3fa7cb;
		-moz-border-radius: 7px;
		-webkit-border-radius: 7px;
		border: 2px solid #f0f0f0;	
		color: #fff;	
	}	
	.suggestionList {
		margin: 0px;
		padding: 0px;
	}
	.suggestionList li {
		
		margin: 0px 0px 3px 0px;
		padding: 3px;
		cursor: pointer;
	}
	.suggestionList li:hover {
		background-color: #4eb2d4;
	}
</style>

</head>

<body>


	<div>
		<form>
			<div>
				Type your county:
				<br />
				<input type="text" size="30" value="" id="inputString" οnkeyup="lookup(this.value);" οnblur="fill();" />
			</div>
			
			<div class="suggestionsBox" id="suggestions" style="display: none;">
				<img src="upArrow.png" style="position: relative; top: -12px; left: 30px;" alt="upArrow" width="10;" height="10;" />
				<div class="suggestionList" id="autoSuggestionsList">
					 
				</div>
			</div>
			
		</form>
	</div>

</body>
</html>

后台Servlet代码:

package com.demo.servlet;

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.demo.db.DBhelper;

public class TestServlet extends HttpServlet {

	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		doPost(request, response);

	}

	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		request.setCharacterEncoding("utf-8");
		String msg=request.getParameter("queryString");
		PrintWriter out=response.getWriter();
		try {
			Connection conn=DBhelper.getConn();
			Statement stmt=conn.createStatement();
			ResultSet rs=stmt.executeQuery("select value from countries where value like '"+msg+"%' limit 0, 10");
			while(rs.next()){
				out.println("<li onClick=\"fill('"+rs.getString(1)+"');\">"+rs.getString(1)+"</li>");
			}
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

}

sql 插入数据字段为:

INSERT INTO `countries` VALUES (1, 'Afghanistan');
INSERT INTO `countries` VALUES (2, 'Aringland Islands');
INSERT INTO `countries` VALUES (3, 'Albania');
INSERT INTO `countries` VALUES (4, 'Algeria');
INSERT INTO `countries` VALUES (5, 'American Samoa');
INSERT INTO `countries` VALUES (6, 'Andorra');
INSERT INTO `countries` VALUES (7, 'Angola');
INSERT INTO `countries` VALUES (8, 'Anguilla');
INSERT INTO `countries` VALUES (9, 'Antarctica');
INSERT INTO `countries` VALUES (10, 'Antigua and Barbuda');
INSERT INTO `countries` VALUES (11, 'Argentina');
INSERT INTO `countries` VALUES (12, 'Armenia');
INSERT INTO `countries` VALUES (13, 'Aruba');
INSERT INTO `countries` VALUES (14, 'Australia');
INSERT INTO `countries` VALUES (15, 'Austria');
INSERT INTO `countries` VALUES (16, 'Azerbaijan');
INSERT INTO `countries` VALUES (17, 'Bahamas');
INSERT INTO `countries` VALUES (18, 'Bahrain');
INSERT INTO `countries` VALUES (19, 'Bangladesh');
INSERT INTO `countries` VALUES (20, 'Barbados');
INSERT INTO `countries` VALUES (21, 'Belarus');
INSERT INTO `countries` VALUES (22, 'Belgium');
INSERT INTO `countries` VALUES (23, 'Belize');
INSERT INTO `countries` VALUES (24, 'Benin');
INSERT INTO `countries` VALUES (25, 'Bermuda');
INSERT INTO `countries` VALUES (26, 'Bhutan');
INSERT INTO `countries` VALUES (27, 'Bolivia');
INSERT INTO `countries` VALUES (28, 'Bosnia and Herzegovina');
INSERT INTO `countries` VALUES (29, 'Botswana');
INSERT INTO `countries` VALUES (30, 'Bouvet Island');
INSERT INTO `countries` VALUES (31, 'Brazil');
INSERT INTO `countries` VALUES (32, 'British Indian Ocean territory');
INSERT INTO `countries` VALUES (33, 'Brunei Darussalam');
INSERT INTO `countries` VALUES (34, 'Bulgaria');
INSERT INTO `countries` VALUES (35, 'Burkina Faso');
INSERT INTO `countries` VALUES (36, 'Burundi');
INSERT INTO `countries` VALUES (37, 'Cambodia');
INSERT INTO `countries` VALUES (38, 'Cameroon');
INSERT INTO `countries` VALUES (39, 'Canada');
INSERT INTO `countries` VALUES (40, 'Cape Verde');
INSERT INTO `countries` VALUES (41, 'Cayman Islands');
INSERT INTO `countries` VALUES (42, 'Central African Republic');
INSERT INTO `countries` VALUES (43, 'Chad');
INSERT INTO `countries` VALUES (44, 'Chile');
INSERT INTO `countries` VALUES (45, 'China');
INSERT INTO `countries` VALUES (46, 'Christmas Island');
INSERT INTO `countries` VALUES (47, 'Cocos (Keeling) Islands');
INSERT INTO `countries` VALUES (48, 'Colombia');
INSERT INTO `countries` VALUES (49, 'Comoros');
INSERT INTO `countries` VALUES (50, 'Congo');
INSERT INTO `countries` VALUES (51, 'Congo');
INSERT INTO `countries` VALUES (52, ' Democratic Republic');
INSERT INTO `countries` VALUES (53, 'Cook Islands');
INSERT INTO `countries` VALUES (54, 'Costa Rica');
INSERT INTO `countries` VALUES (55, 'Ivory Coast (Ivory Coast)');
INSERT INTO `countries` VALUES (56, 'Croatia (Hrvatska)');
INSERT INTO `countries` VALUES (57, 'Cuba');
INSERT INTO `countries` VALUES (58, 'Cyprus');
INSERT INTO `countries` VALUES (59, 'Czech Republic');
INSERT INTO `countries` VALUES (60, 'Denmark');
INSERT INTO `countries` VALUES (61, 'Djibouti');
INSERT INTO `countries` VALUES (62, 'Dominica');
INSERT INTO `countries` VALUES (63, 'Dominican Republic');
INSERT INTO `countries` VALUES (64, 'East Timor');
INSERT INTO `countries` VALUES (65, 'Ecuador');
INSERT INTO `countries` VALUES (66, 'Egypt');
INSERT INTO `countries` VALUES (67, 'El Salvador');
INSERT INTO `countries` VALUES (68, 'Equatorial Guinea');
INSERT INTO `countries` VALUES (69, 'Eritrea');
INSERT INTO `countries` VALUES (70, 'Estonia');
INSERT INTO `countries` VALUES (71, 'Ethiopia');
INSERT INTO `countries` VALUES (72, 'Falkland Islands');
INSERT INTO `countries` VALUES (73, 'Faroe Islands');
INSERT INTO `countries` VALUES (74, 'Fiji');
INSERT INTO `countries` VALUES (75, 'Finland');
INSERT INTO `countries` VALUES (76, 'France');
INSERT INTO `countries` VALUES (77, 'French Guiana');
INSERT INTO `countries` VALUES (78, 'French Polynesia');
INSERT INTO `countries` VALUES (79, 'French Southern Territories');
INSERT INTO `countries` VALUES (80, 'Gabon');
INSERT INTO `countries` VALUES (81, 'Gambia');
INSERT INTO `countries` VALUES (82, 'Georgia');
INSERT INTO `countries` VALUES (83, 'Germany');
INSERT INTO `countries` VALUES (84, 'Ghana');
INSERT INTO `countries` VALUES (85, 'Gibraltar');
INSERT INTO `countries` VALUES (86, 'Greece');
INSERT INTO `countries` VALUES (87, 'Greenland');
INSERT INTO `countries` VALUES (88, 'Grenada');
INSERT INTO `countries` VALUES (89, 'Guadeloupe');
INSERT INTO `countries` VALUES (90, 'Guam');
INSERT INTO `countries` VALUES (91, 'Guatemala');
INSERT INTO `countries` VALUES (92, 'Guinea');
INSERT INTO `countries` VALUES (93, 'Guinea-Bissau');
INSERT INTO `countries` VALUES (94, 'Guyana');
INSERT INTO `countries` VALUES (95, 'Haiti');
INSERT INTO `countries` VALUES (96, 'Heard and McDonald Islands');
INSERT INTO `countries` VALUES (97, 'Honduras');
INSERT INTO `countries` VALUES (98, 'Hong Kong');
INSERT INTO `countries` VALUES (99, 'Hungary');
INSERT INTO `countries` VALUES (100, 'Iceland');
INSERT INTO `countries` VALUES (101, 'India');
INSERT INTO `countries` VALUES (102, 'Indonesia');
INSERT INTO `countries` VALUES (103, 'Iran');
INSERT INTO `countries` VALUES (104, 'Iraq');
INSERT INTO `countries` VALUES (105, 'Ireland');
INSERT INTO `countries` VALUES (106, 'Israel');
INSERT INTO `countries` VALUES (107, 'Italy');
INSERT INTO `countries` VALUES (108, 'Jamaica');
INSERT INTO `countries` VALUES (109, 'Japan');
INSERT INTO `countries` VALUES (110, 'Jordan');
INSERT INTO `countries` VALUES (111, 'Kazakhstan');
INSERT INTO `countries` VALUES (112, 'Kenya');
INSERT INTO `countries` VALUES (113, 'Kiribati');
INSERT INTO `countries` VALUES (114, 'Korea (north)');
INSERT INTO `countries` VALUES (115, 'Korea (south)');
INSERT INTO `countries` VALUES (116, 'Kuwait');
INSERT INTO `countries` VALUES (117, 'Kyrgyzstan');
INSERT INTO `countries` VALUES (118, 'Lao People\'s Democratic Republic');
INSERT INTO `countries` VALUES (119, 'Latvia');
INSERT INTO `countries` VALUES (120, 'Lebanon');
INSERT INTO `countries` VALUES (121, 'Lesotho');
INSERT INTO `countries` VALUES (122, 'Liberia');
INSERT INTO `countries` VALUES (123, 'Libyan Arab Jamahiriya');
INSERT INTO `countries` VALUES (124, 'Liechtenstein');
INSERT INTO `countries` VALUES (125, 'Lithuania');
INSERT INTO `countries` VALUES (126, 'Luxembourg');
INSERT INTO `countries` VALUES (127, 'Macao');
INSERT INTO `countries` VALUES (128, 'Macedonia');
INSERT INTO `countries` VALUES (129, 'Madagascar');
INSERT INTO `countries` VALUES (130, 'Malawi');
INSERT INTO `countries` VALUES (131, 'Malaysia');
INSERT INTO `countries` VALUES (132, 'Maldives');
INSERT INTO `countries` VALUES (133, 'Mali');
INSERT INTO `countries` VALUES (134, 'Malta');
INSERT INTO `countries` VALUES (135, 'Marshall Islands');
INSERT INTO `countries` VALUES (136, 'Martinique');
INSERT INTO `countries` VALUES (137, 'Mauritania');
INSERT INTO `countries` VALUES (138, 'Mauritius');
INSERT INTO `countries` VALUES (139, 'Mayotte');
INSERT INTO `countries` VALUES (140, 'Mexico');
INSERT INTO `countries` VALUES (141, 'Micronesia');
INSERT INTO `countries` VALUES (142, 'Moldova');
INSERT INTO `countries` VALUES (143, 'Monaco');
INSERT INTO `countries` VALUES (144, 'Mongolia');
INSERT INTO `countries` VALUES (145, 'Montserrat');
INSERT INTO `countries` VALUES (146, 'Morocco');
INSERT INTO `countries` VALUES (147, 'Mozambique');
INSERT INTO `countries` VALUES (148, 'Myanmar');
INSERT INTO `countries` VALUES (149, 'Namibia');
INSERT INTO `countries` VALUES (150, 'Nauru');
INSERT INTO `countries` VALUES (151, 'Nepal');
INSERT INTO `countries` VALUES (152, 'Netherlands');
INSERT INTO `countries` VALUES (153, 'Netherlands Antilles');
INSERT INTO `countries` VALUES (154, 'New Caledonia');
INSERT INTO `countries` VALUES (155, 'New Zealand');
INSERT INTO `countries` VALUES (156, 'Nicaragua');
INSERT INTO `countries` VALUES (157, 'Niger');
INSERT INTO `countries` VALUES (158, 'Nigeria');
INSERT INTO `countries` VALUES (159, 'Niue');
INSERT INTO `countries` VALUES (160, 'Norfolk Island');
INSERT INTO `countries` VALUES (161, 'Northern Mariana Islands');
INSERT INTO `countries` VALUES (162, 'Norway');
INSERT INTO `countries` VALUES (163, 'Oman');
INSERT INTO `countries` VALUES (164, 'Pakistan');
INSERT INTO `countries` VALUES (165, 'Palau');
INSERT INTO `countries` VALUES (166, 'Palestinian Territories');
INSERT INTO `countries` VALUES (167, 'Panama');
INSERT INTO `countries` VALUES (168, 'Papua New Guinea');
INSERT INTO `countries` VALUES (169, 'Paraguay');
INSERT INTO `countries` VALUES (170, 'Peru');
INSERT INTO `countries` VALUES (171, 'Philippines');
INSERT INTO `countries` VALUES (172, 'Pitcairn');
INSERT INTO `countries` VALUES (173, 'Poland');
INSERT INTO `countries` VALUES (174, 'Portugal');
INSERT INTO `countries` VALUES (175, 'Puerto Rico');
INSERT INTO `countries` VALUES (176, 'Qatar');
INSERT INTO `countries` VALUES (177, 'Runion');
INSERT INTO `countries` VALUES (178, 'Romania');
INSERT INTO `countries` VALUES (179, 'Russian Federation');
INSERT INTO `countries` VALUES (180, 'Rwanda');
INSERT INTO `countries` VALUES (181, 'Saint Helena');
INSERT INTO `countries` VALUES (182, 'Saint Kitts and Nevis');
INSERT INTO `countries` VALUES (183, 'Saint Lucia');
INSERT INTO `countries` VALUES (184, 'Saint Pierre and Miquelon');
INSERT INTO `countries` VALUES (185, 'Saint Vincent and the Grenadines');
INSERT INTO `countries` VALUES (186, 'Samoa');
INSERT INTO `countries` VALUES (187, 'San Marino');
INSERT INTO `countries` VALUES (188, 'Sao Tome and Principe');
INSERT INTO `countries` VALUES (189, 'Saudi Arabia');
INSERT INTO `countries` VALUES (190, 'Senegal');
INSERT INTO `countries` VALUES (191, 'Serbia and Montenegro');
INSERT INTO `countries` VALUES (192, 'Seychelles');
INSERT INTO `countries` VALUES (193, 'Sierra Leone');
INSERT INTO `countries` VALUES (194, 'Singapore');
INSERT INTO `countries` VALUES (195, 'Slovakia');
INSERT INTO `countries` VALUES (196, 'Slovenia');
INSERT INTO `countries` VALUES (197, 'Solomon Islands');
INSERT INTO `countries` VALUES (198, 'Somalia');
INSERT INTO `countries` VALUES (199, 'South Africa');
INSERT INTO `countries` VALUES (200, 'South Georgia and the South Sandwich Islands');
INSERT INTO `countries` VALUES (201, 'Spain');
INSERT INTO `countries` VALUES (202, 'Sri Lanka');
INSERT INTO `countries` VALUES (203, 'Sudan');
INSERT INTO `countries` VALUES (204, 'Suriname');
INSERT INTO `countries` VALUES (205, 'Svalbard and Jan Mayen Islands');
INSERT INTO `countries` VALUES (206, 'Swaziland');
INSERT INTO `countries` VALUES (207, 'Sweden');
INSERT INTO `countries` VALUES (208, 'Switzerland');
INSERT INTO `countries` VALUES (209, 'Syria');
INSERT INTO `countries` VALUES (210, 'Taiwan');
INSERT INTO `countries` VALUES (211, 'Tajikistan');
INSERT INTO `countries` VALUES (212, 'Tanzania');
INSERT INTO `countries` VALUES (213, 'Thailand');
INSERT INTO `countries` VALUES (214, 'Togo');
INSERT INTO `countries` VALUES (215, 'Tokelau');
INSERT INTO `countries` VALUES (216, 'Tonga');
INSERT INTO `countries` VALUES (217, 'Trinidad and Tobago');
INSERT INTO `countries` VALUES (218, 'Tunisia');
INSERT INTO `countries` VALUES (219, 'Turkey');
INSERT INTO `countries` VALUES (220, 'Turkmenistan');
INSERT INTO `countries` VALUES (221, 'Turks and Caicos Islands');
INSERT INTO `countries` VALUES (222, 'Tuvalu');
INSERT INTO `countries` VALUES (223, 'Uganda');
INSERT INTO `countries` VALUES (224, 'Ukraine'); http://
INSERT INTO `countries` VALUES (225, 'United Arab Emirates');
INSERT INTO `countries` VALUES (226, 'United Kingdom');
INSERT INTO `countries` VALUES (227, 'United States of America');
INSERT INTO `countries` VALUES (228, 'Uruguay');
INSERT INTO `countries` VALUES (229, 'Uzbekistan');
INSERT INTO `countries` VALUES (230, 'Vanuatu');
INSERT INTO `countries` VALUES (231, 'Vatican City');
INSERT INTO `countries` VALUES (232, 'Venezuela');
INSERT INTO `countries` VALUES (233, 'Vietnam');
INSERT INTO `countries` VALUES (234, 'Virgin Islands (British)');
INSERT INTO `countries` VALUES (235, 'Virgin Islands (US)');
INSERT INTO `countries` VALUES (236, 'Wallis and Futuna Islands');
INSERT INTO `countries` VALUES (237, 'Western Sahara');
INSERT INTO `countries` VALUES (238, 'Yemen');
INSERT INTO `countries` VALUES (239, 'Zaire');
INSERT INTO `countries` VALUES (240, 'Zambia');
INSERT INTO `countries` VALUES (241, 'Zimbabwe');
工程demo:

autoComplete.zip




  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
形式英雄可以记住你的输入,并在稍后加快填表过程。他真的想成为你的英雄! 您是一个雄心勃勃的求职者,梦想每天提交数百份申请吗?还是您忘记了太多用户名和密码?还是厌倦了Chrome自动填充功能带来的意外结果? Form Hero的作者知道这是多么的痛苦!他希望Form Hero可以为您提供帮助 Form Hero不限于保存您的登录名或电子邮件地址,它可以帮助您记住网站上几乎所有的输入!表格,复选框,下拉菜单以及您需要记住的所有输入内容。只需单击一下,您就可以立即将值应用于特定/所有空白。不再需要复制和粘贴常用信息!而且,它是免费的!那么,为什么不现在就尝试并过上轻松的生活呢?通常,要使用Form Hero,您需要:步骤1:单击“记住所有填充值”按钮,以通知Form Hero记住输入。步骤2:当您再次看到此表单,甚至是其他网站的似表单时,您可以通过单击一个建议的候选者来填补每个空白,或者只需单击一次即可将默认值应用于所有输入。注意:Form Hero为您排列了最高的候选者值,每个输入的第一个是Form Hero为您建议的最可能的值。因此,您有更多选择:您可以选择填充或不填充,以及填充哪个值(这是Form Hero与其他似的自动填充器应用程序/扩展名)。Form Hero只是他的测试版,请发送任何反馈至您的电子邮件地址:zhongwei@udel.edu Form Hero确实希望成为您的英雄! 支持语言:English
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

le4

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值