jquery输入框模糊匹配

备注说明:①index.jsp为主页面,提供输入

②getdata.jsp为业务处理部分,可以替换为action或者servlet形式

③DummyDB.java为数据匹配处理类

 

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    
    <title>My JSP 'index.jsp' starting page</title>
    <link href="jquery.autocomplete.css" type=text/css rel=stylesheet>
    <script type="text/javascript" src="jquery.js"></script>
	<script type="text/javascript" src="jquery.autocomplete.js"></script>
	<style>  
         input {   
             font-size: 120%;   
        }   
    </style>  
  </head>
  
  <body>
     <h3>Country</h3>  
     <input type="text" id="country" name="country"/>  
  
.     <script>  
        $("#country").autocomplete("getdata.jsp");   
     </script> 
  </body>
</html>

 

 

 

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@page import="com.hzp.DummyDB"%>
<%
	DummyDB db = new DummyDB();

	String query = request.getParameter("q");

	List<String> countries = db.getData(query);

	Iterator<String> iterator = countries.iterator();
	while (iterator.hasNext()) {
		String country = (String) iterator.next();
		out.println(country);
	}
%>

 

 

 

 

package com.hzp;
import java.util.ArrayList;
import java.util.List;
import java.util.StringTokenizer;

public class DummyDB {
	private int totalCountries;
	private String data = "Afghanistan, Albania, bmw, Zimbabwe";
	private List<String> countries;

	public DummyDB() {
		countries = new ArrayList<String>();
		StringTokenizer st = new StringTokenizer(data, ",");

		while (st.hasMoreTokens()) {
			countries.add(st.nextToken().trim());
		}
		totalCountries = countries.size();
	}

	public List<String> getData(String query) {
		String country = null;
		query = query.toLowerCase();
		List<String> matched = new ArrayList<String>();
		for (int i = 0; i < totalCountries; i++) {
			country = countries.get(i).toLowerCase();
			if (country.startsWith(query)) {
				matched.add(countries.get(i));
			}
		}
		return matched;
	}
}
 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值