首页 > 编程语言 >[Java web]-- jquery自动填充input框(如百度搜索一样,出现模糊提示)

[Java web]-- jquery自动填充input框(如百度搜索一样,出现模糊提示)

时间:2022-11-03 14:32:56浏览次数:51  
标签:jquery web Java val mdmcData request var data 页面


一、基本思路如下

 

第一个html页面:

<html lang="en">
<head>
    <meta charset="GBK" />
    <title>页面</title>
    <link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" />
    <script type="text/javascript"  src="http://code.jquery.com/jquery-1.8.3.js"></script>
    <script type="text/javascript"  src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
    <script type="text/javascript" >
    $(function() {
//获取ajxa异步数据
               var cityData = [  "java", "javaScript" ];
var mdmcData=["aa", "bb", "cac","dd","e"];

//自动填充1
              $( "#inp1" ).autocomplete({
               source: cityData
             });
//自动填充2
            $("#inp2").autocomplete({
                source: mdmcData
            });
    });
</script>
</head>
<body>
<div class="ui-widget"> 
input框1:<input id="inp1" />
input框2:<input id="inp2" />
</div>
</body>
</html>

 

二、ajax举例说明

 

jsp页面:

<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<%@taglib uri="/struts-tags" prefix="s" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>客户选择门店页面</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">    
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<link rel="stylesheet" href="${pageContext.request.contextPath}/css/jquery-ui.css" />
<script type="text/javascript" src="<s:url value='/js/jquery-1.8.3.js'/>"></script>
<script type="text/javascript"  src="${pageContext.request.contextPath}/js/jquery-ui.js"></script>
<script type="text/javascript">
$(function(){
//定义新数组
var mdmcData=new Array();
var _mdmcData=new Array();

//自动填充门店名称
       $("#ajaxMdmc").autocomplete({
           source: _mdmcData
       });
/**异步获取提示门店名称信息*/
//监听输入框的键盘(输入)事件
$("#ajaxMdmc").keyup(
function(event){
var data;
//获取输入的键码值(event.keyCode);
//输入的值
var city=$("#ajaxCity").val();
var mdmc=$("#ajaxMdmc").val();
//判断是否有内容输入
if(mdmc.length>0){
//异步获取需要的值
$.ajax({
type : "post",
contentType:"application/x-www-form-urlencoded;charset=GBK",
url : "${pageContext.request.contextPath}?",
data : "?="+?,
success : function(ret) {
//返回值是在action中以逗号为分割的json串:"123,456,322,"
data=ret.split(",");
var len=data.length;
//处理数组
for(var i=0;i<len-1;i++){
mdmcData[i]=data[i];
};
//必须先赋值到页面,否则不能获取到值
$("#hiddenMdmc").val(mdmcData);
},dataType:"JSON"
});
//给需要的数组赋值
var _data=$("#hiddenMdmc").val().split(",");
for(var j=0;j<_data.length;j++){
_mdmcData[j]=_data[j];
}
}
}
);
});
</script>

  </head>
   <body >
<div class="ui-widget" >
 
<form action="${pageContext.request.contextPath}/?" method="post" >

<strong> 城市:</strong>
<input id="ajaxCity" type="text" style="width: 100px;"/>
<input id="hiddenCity" type="hidden" />
<strong>门店名称:</strong>
<input id="ajaxMdmc" type="text" style="width: 100px;"/>
<input id="hiddenMdmc" type="hidden" />
<input type="submit"  style="width:50px;height: 20px;" value="查询"/>
<input type="reset" style="width:50px;height: 20px;" value="清空"/>
<input type="button" id="checkOk" style="width:50px;height: 20px;" value="确定"/>
</form>
</div>
  </body>
</html>

三、注意

 

1、ajxa返回值格式:如,“123,,2121,424,2321,”一定要在action中处理成以逗号分隔的字符串

2、autocomplete()函数不能放在ajax调用的函数体内

 

四、效果图

图1、

[Java web]-- jquery自动填充input框(如百度搜索一样,出现模糊提示)_javascript

图2、

[Java web]-- jquery自动填充input框(如百度搜索一样,出现模糊提示)_javascript_02

 

 

注:以上测试通过,可以根据自己需要就行修改,如有不清楚之处,敬请留言!

 

 

 

 

标签:jquery,web,Java,val,mdmcData,request,var,data,页面
From: https://blog.51cto.com/u_13966077/5819858

相关文章

  • [Java基础]-- servlet调用Url传输文件或者字符串
    实例:A和B两台服务器之间传输log文件或者其他文件,      如果成功就返回字符串"1";如果失败则返回"0"1、发送log文件和字符串参数的servletmportjava.io.Buffere......
  • [Java web]-- jquery设置元素成为disabled
    对元素应用disabled和readonly属性的方法,如下:  1.readonly属性举例  $('input').attr("readonly","readonly");     //将input元素设置为readonly ......
  • javascript规范中美元符号$是什么?
    用途:一般用$获取页面中的某一个对象的id。参考:https://www.cnblogs.com/xutao1517588477/p/10582463.html>>拓展:$(function(){}),什么时候执行?https://blog.csdn.net/u0......
  • web服务器15 jsonp格式接口
    概念:浏览器端通过<script>标签的src属性,请求服务器上的数据,同时,服务器返回一个函数的调用。这种请求数据的方式叫做SONP。特点:①JSONP不属于真正的Ajax请求,因为它没有使用......
  • WebSocket C#服务器端 当网页刷新时出现无法重连 C#出错:数字小于数组在第一维的下限。
    最近两天公司 要用到 WebSocketC#服务器端+Vue客户端我之前做 WebSocket 是 C#服务器端+原生js客户端原生js客户端 我用iframe 将 WebSocket 用单独一个网......
  • Java工程师需要掌握哪些技术更容易获得高薪?
    今天,事实是,你不能成为一个样样都懂的人(杂而不精)。你必须选择你要掌握的工具。有时这是由工作的环境决定的,但是按照下面说的去做也是一个很好的选择:构建工具:Maven或Gradle......
  • web服务器14 cors跨域资源共享
    通过控制Access-Control-Allow-Origin修改只有哪些网页可以访问资源res.setHeader('Access-Control-Allow-Origin','*')默认情况下,CORS仅支持客户端向服务器发送如下的9......
  • WebSocket C#服务器端+VUE客户端
    WebSocketC#服务器端先定义一个基类注:用于和WinSocket融合。当然不用也是可以的clsSocketusingSystem;usingSystem.Collections.Generic;usingSystem.Text;na......
  • wxjava 多商户 微信支付在springBoot项目中使用以及血泪教训
    最近在做自助洗车项目中,因每个门店需要使用自己的商户收款,所以需要wxjava多商户支持,在百度查了些资料,基本都是单个商户的使用案例,遂把项目中的一些总结分享。先介绍下单......
  • java实现分布式事务的三种方案
    原子性:执行单元中的操作要么全部执行成功,要么全部失败。如果有一部分成功一部分失败那么成功的操作要全部回滚到执行前的状态。一致性:执行一次事务会使用数据从一个正确的......