0 0

textfield文本框实现类似google的下拉提示功能20

想要根据textfield中的值变化,实时查找数据库。最好有列子看下。。。
2010年11月19日 11:29

10个答案 按时间排序 按投票排序

0 0

这种类似google下拉框的插件有很多,jQuery就提供了好几种,可以搜索一下。另外数据强烈建议不要从数据库里面取,太耗费数据库资源了,还是放在缓存里面定期更新性能比较好。

2010年12月02日 15:42
0 0

我写这个的时候底层用的是框架ssh。。。我把底层发给你。。。如果你还弄不出来我也可以给你写个简单的jsp或是mvc帮助你理解下。。。数据库你就自己弄吧。。。
我把那工程直接发给你好了。。。

2010年12月01日 16:06
0 0

给你个input文本框下拉的代码你把它改成textfield文本框就好了。。。技术就是AjAx。。。

<%@ 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>
<head>
<base href="<%=basePath%>">

<title>My JSP 'index.jsp' starting page</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" type="text/css" href="styles.css">
-->
<style type="text/css">
*{
padding: 0px;
margin: 0px;
}
.box{
margin:auto;
text-align: left;
margin-top: 100px;
width: 300px;
text-align: center;
}
.box input{
width:100%;
height: 30px;
font-size: 25px;
}
.box #auto{
text-align: left;
border:1px solid #ccc;
}
.box #auto ul{
list-style: none;
line-height: 23px;
}
.active{
background-color: blue;
}
</style>
<script type="text/javascript" src="js/jquery-1.4.2.min.js"></script>
<script type="text/javascript">
//定时器,对按键加一个缓冲,避免频繁按键对服务端产生不必要的压力
var timer;
var hightLightIndex = -1; //高亮显示的元素索引值
$(document).ready(function(){
//获取文本框
var wordInput = $("#word");
//获取文本框在页面中的位置
var wordInputOffset = wordInput.offset();
var wordInputLeft = wordInputOffset.left;
var wordInputTop = wordInputOffset.top;

//设置自动提示层的位置和样式,初始化是隐藏的
$("#auto").hide().css("position","abosulte")
.css("left",wordInputLeft)
.css("top",wordInputTop)
.css("width",wordInput.width()+2);

//给文本框添加键盘事件
wordInput.keyup(function(event){
event = event || window.event;
//获取按键值
var keyCode = event.which;

//如果输入的是字母、数字、退格键或者del键,则发送请求
if((keyCode >= 65 && keyCode <= 90) || keyCode == 8 || keyCode == 46){
var keyword = wordInput.val();
//如果文本框内容不为空,则想服务器发送请求
if($.trim(keyword) != ""){
//取消上次未完成的延时操作
clearTimeout(timer);
//延时500毫秒发送请求
timer = setTimeout(function(){
var url = "news.do";
var data = {"keyword":keyword};
//想服务器发送异步请求
$.post(url,data,function(data){
var result = eval(data);
//获取UL
var ul = $("#auto ul");
ul.empty();
$(result).each(function(){
var li = $("<li>"+this.newsTitle+"</li>");
ul.append(li);
});

//如果有内容,则显示提示内容,没有则隐藏
if($("#auto li").length > 0){
hightLightIndex = 0;
$("#auto li").eq(hightLightIndex).addClass("active");
$("#auto").show();
} else{
$("#auto").hide();
hightLightIndex = 0;
}
});
},500);
} else{
//如果没有内容,则隐藏提示层
$("#auto").hide();
}
}
//如果是上下键,则处理选择
var resultCount = $("#auto li").length;
if(keyCode == 40 || keyCode == 38){
$("#auto li").eq(hightLightIndex).removeClass("active");
if(keyCode == 40){
//选中索引自增,如果已经是最后一个,则等于0
hightLightIndex ++;
if(hightLightIndex == resultCount)
hightLightIndex = 0;
} else if(keyCode == 38){
hightLightIndex --;
if(hightLightIndex == -1)
hightLightIndex = resultCount - 1;
}

$("#auto li").eq(hightLightIndex).addClass("active");
}
});
});
</script>
</head>

<body style="text-align: center;">
<div class="box">
<div class="title">
<h3>我的自动补全</h3>
</div>
<input id="word" />
<div id="auto">
<ul></ul>
</div>
</div>
</body>
</html>

2010年12月01日 15:59
0 0

这个可以根据事件处理。
无非就是想知道变化后的内容,而后匹配数据库。

2010年11月29日 16:10
0 0

直接使用Ext.form.ComboBox 组件支持你的要求。

var com = new Ext.form.ComboBox({    
            autoLoad : false,    
            fieldLabel : "申请人",    
            store : new Ext.data.JsonStore({    
                        url : 'scmBaseAction!getEmpUser.action',    
                        root : 'empUserList',    
                        fields : ["id", "empName"]    
                    }),    
            displayField : 'empName',    
            valueField : 'id', // 传向后台的值    
            typeAhead : true,    
            loadingText : 'Searching...',    
            minChars : 1,    
            mode : 'remote',    
            emptyText : '请输入',    
            forceSelection : true,    
            hideTrigger : true,// 隐藏三角下列图片    
            queryParam : 'empUserNum' //设置查询参数名称    
        })   

2010年11月22日 09:53
0 0

建议使用一个啊autocomplete的JS插件,使用很简单!
需要:autocomplete2.css,autocomplete.js,prototype.js
前台这么用:
<script language="javascript">
new Autocomplete('brand', function() {
return '${ctx}/HTML/basic/auto/AutoCompeletAction.do?method=filterBrand&setName=brand&likeBeginValue=' + $("brand").value;
});
</script>
后台返回一个这样的串:
<li onselect="$('textfieldName')=123">123</li>
<li onselect="$('textfieldName')=123">123</li>
<li onselect="$('textfieldName')=123">123</li>
<li onselect="$('textfieldName')=123">123</li>
<li onselect="$('textfieldName')=123">123</li>
就OK了!

2010年11月20日 18:59
0 0

建议用ajax实现,其实就是一个典型的实时检索

2010年11月19日 16:38
0 0

我怀疑我理解错了可能,Jquery 自动下拉,你可以搜一下,因为我做过类似的

2010年11月19日 13:57
0 0

你这个功能用到了 AJAX 异步数据提交,就是百度框中数据提示相关搜索的
不好意思,目前没有具体例子,时间有点紧。在网上一定有例子。祝你好运。

2010年11月19日 13:05
0 0

例子没有现成的。
不过可以给你说下思路。
使用JavaScript监听textfield的keyup事件。在事件处理方法中去访问后台,将值的列表返回。当然textfield的下方需要有一个div用于显示列表值,每次列表返回时要更新div的内容

2010年11月19日 12:17

相关推荐

    JavaFx实现百度文本框的下拉提示功能

    在JavaFX中,实现百度文本框的下拉提示功能,主要涉及到的是文本输入与实时匹配的概念,这在很多用户界面中都有广泛的应用,如搜索引擎、输入法等。这个功能能够提高用户体验,帮助用户快速找到他们可能正在寻找的...

    jquery+struts2实现文本框自动完成

    类似百度和淘宝搜索框,输入一部分内容,自动联想相关内容,点击下拉框条目自动完成文本框输入。其中同时包括不通过struts2获取数据的实现方法。参考网址http://jqueryui.com/autocomplete/

    ios文本框的自动提示

    在iOS开发中,文本框...通过以上步骤,你可以实现一个功能完善的自动提示文本框,它不仅能提供文字提示,还可以支持图片等多种形式的提示信息。在实际应用中,可以根据具体需求进行调整和优化,提高用户体验。

    ios-自定义下拉菜单,有textField的alertView,无输入文本框的alertView和气泡显示.zip

    在设计自定义视图时,不仅要考虑功能实现,还要注重用户体验。确保视图的可访问性,遵循苹果的Human Interface Guidelines,以及考虑到不同设备和屏幕尺寸的适配。 综上所述,这个压缩包包含的内容涵盖了iOS自定义...

    Flutter文本框TextField

    Flutter文本框TextField,是一个输入文本的控件,,,,

    EXT dojochina文本框示例Ext.form.TextField.rar

    8. **组合框模式**:`Ext.form.TextField`还可以扩展为`Ext.form.ComboBox`,实现下拉选择功能,这在需要用户从预定义选项中选择时非常有用。 在压缩包中的`Ext.form.TextField`文件夹,很可能是包含了一个或者多个...

    文本编辑器-textField实现

    在“文本编辑器-textField实现”项目中,我们关注的是如何扩展`TextField`的基本功能,以实现类似富文本编辑器的效果,包括换行、空格、文字格式化(如加粗)、颜色设置、字号调整以及字体选择。 首先,我们需要...

    使用一个子TextField,当TextField被填充时,提示将浮现在上方

    为了实现这一功能,开发者需要对OpenHarmony的UI系统、事件处理和动画机制有深入理解。`floatlabelededittext-master`这个文件名可能是指一个开源项目或库,它可能包含了实现浮标提示效果的源代码,这对于学习和参考...

    java swing文本框(密码框)没有内容时,占位显示默认信息(仿IOS)

    通过这种方式,我们可以轻松地在Java Swing应用中实现类似于iOS的文本框占位符效果,提高用户体验。在实际项目中,可以根据具体需求对代码进行扩展和优化,例如添加更多的样式控制或处理特殊情况。

    ExtJs 文本框后附件单位

    通过两种不同的方法——重写组件方法以及直接在父节点下创建子节点,我们成功地实现了这一功能。这些技术不仅可以应用于文本框,还可以扩展到其他类似的场景。对于希望提高应用程序可用性和用户体验的开发者来说,这...

    自动补全功能的文本框(TextField)功能

    自动补全功能的文本框(TextField)功能,源码APAutocompleteTextField,APAutocompleteTextField是一个带有文本自动补全功能的文本框,工作原理类似 Safari(iOS)或者是 Chrome(iOS)搜索/地址栏。 Autocomplete ...

    自定义输入textfield

    例如,`XHDropTextfield`可能就是一个自定义的`TextField`,它增加了下拉选择的功能,用户可以从预设的选项列表中选取值。 对于`XHDropTextfield`,我们可以假设它是一个iOS平台上的自定义`UITextField`子类,提供...

    ios keywoard自适应textField高度

    总结一下,实现“ios keyword 自适应 textField 高度”主要涉及理解UITextField的属性和行为,设置背景图片,监听并响应文本变化,以及合理使用Auto Layout来管理多个文本框的布局。通过这些技巧,我们可以创建出...

    Flash实现文本框文字滚动.rar

    为了实现滚动功能,我们需要设置TextField的一些属性,如autoScroll、scrollV(垂直滚动条)和scrollH(水平滚动条)。例如: ```actionscript textField.autoScroll = true; textField.scrollV = 1; // 开启垂直...

    一组漂亮的 TextField 交互特效.zip

    5. **下拉提示**:实现自动完成或建议功能,当用户输入时,文本框下方会显示匹配的建议选项。 6. **动画过渡**:在文本框切换时,可以添加平滑的过渡动画,提高界面的流畅性。 这些效果的实现往往涉及到对Core ...

    如何使用掩码格式化文本框

    可以使用自定义函数或现有的库,如jQuery Mask Plugin,它提供了一种简单的方式来添加掩码功能。例如,使用jQuery Mask Plugin,你可以这样设置电话号码的掩码: ```javascript $("#phone").mask("(999) 999-9999...

    类似微信支付宝支付密码框Textfield简单实现

    实现六位密码框,可中途删除修改,期间只可操作单个输入框,简单易懂,一个自定义类搞定,可扩展性强,自己可以下载根据自己需要进行修改和使用,内部使用自定义view搞定,可下载参考,如有不足请提出,后续进行修改

    flutter TextField换行自适应的实现

    在Flutter开发中,TextField是用于用户输入文本的基本组件,它提供了丰富的自定义功能。本文将详细探讨如何在Flutter中实现TextField的换行自适应效果,包括自动调整高度以适应输入内容的增长,同时保持预设的内外...

    手工创建TextField

    - `textFieldShouldBeginEditing(_ textField:)`: 在文本框开始编辑前调用,返回值决定是否允许开始编辑。 - `textFieldDidBeginEditing(_ textField:)`: 文本框开始编辑时调用。 - `textField(_:...

    Java Swing实现的定制TextField功能示例

    Java Swing 实现的定制 TextField 功能示例 Java Swing 是一个基于 Java 语言的 GUI 组件库,它提供了丰富的图形用户界面组件,包括按钮、文本框、列表框、树形控件等。TextField 是 Java Swing 中的一个基本组件,...

Global site tag (gtag.js) - Google Analytics