`
shiwujie
  • 浏览: 4367 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

(原创)jquery快速索引文本框实现

阅读更多

 

 



 

 

var FSelect = (function($){
			var _self = this;
			_self.FastSearch = function(){
	  			}
			_self.FastSearch.prototype = {

			create : function(opt){
				var _opt = {
						 el : "elementid",
						 getData : function(v){return false},
						 itemChange : function(item){},
						 itemSelect : function(item){}
						};
				$.extend(_opt,opt || {});
				var _text = $("#" + _opt.el);
				var _select = (function(){
					var html = "<select id='select_list_"+_text.attr("id")+"' style=\"position: absolute; z-index:9999;height: 150px;\" multiple=\"multiple\">"+
						"<option value=''>不选择</option></select>";
					var el_offset = _text.offset();
					var r = $(html).css("top",el_offset.top + _text.height() + 5).css("left",el_offset.left).css("width",_text.width() + 5);
					r.hide();
					$('body').append(r);
					return r;
				})();
				
				function show(){
					_select.show();
				}
				function hide(){
					var fid = document.activeElement.id;
					
					if(fid == _text.attr("id")){
						if(_text.val()!='')
							_select.show();
						else
							_select.hide();
					}else if(fid == _select.attr("id")){
						_select.show();
					}else{
						_select.hide();
					}
				}
				function addOption(key,value){
					_select.append("<option value='"+key+"'>"+value+"</option>");
				}
				function removeOptions(){
					_select.find("option").remove("[value!='']");
				}
				function addOptions(data){
					for(var i=0;i<data.length;i++){
						addOption(data[i].value,data[i].text);
					}
				}
				$("input,select,textarea,button").each(function(){
						$(this).focus(function(){
								hide();
							});
	
					});
				_text.keyup(function(e){
						
						switch(e.keyCode){
							case 40:
								_select.focus();
								break;
							default:
								removeOptions();
								var value = _text.val();
								
								var data = _opt.getData(value);
								if(data){
									addOptions(data);	
									show();
								}
								break;
						}
						hide();
					});
				_select.change(function(){
						_opt.itemChange({value:$(this).val(),text:$(this).find("option[selected]").text()});
					});
				_select.keyup(function(e){
						switch(e.keyCode){
						case 13:
							_opt.itemSelect({value:$(this).val(),text:$(this).find("option[selected]").text()});
							_text.next("input,select,textarea,button").focus();
							_select.hide();
							break;
						}
					});
				_select.click(function(){
						_opt.itemSelect({value:$(this).val(),text:$(this).find("option[selected]").text()});
						_text.next("input,select,textarea,button").focus();
						_select.hide();
					});
				$(document).click(function(){hide();});
			}
		}
		return _self;
 	})(jQuery)
 		
$(function(){

		var s1 = new FSelect.FastSearch();
	  	var opt = {
			el : "input1",
			itemChange : function(data){
		$("#input2").val(data.text);
			},
			itemSelect : function(data){
				$("#input3").val(data.text);
			},
			getData : function(data){

		if(data == 1){
			return [{value:1,text:'北京'},
							{value:2,text:'上海'}];
		}
		if(data == 12){
			return [{value:1,text:'北京'},
							{value:2,text:'上海'},
							{value:3,text:'浙江'}];
			}
		if(data == 123){
			return [{value:1,text:'北京'},
							{value:2,text:'上海'},
							{value:3,text:'浙江'},
							{value:4,text:'广泛'},
							{value:5,text:'西安'},
							{value:6,text:'辽宁'}];
			}
					}
	    	  	}
	  	s1.create(opt);
 	});
<body>
    <input type="text" id="input1">
    <select style="border: none;"></select>
 	<input type="text" id="input2">
 	<input type="text" id="input3">
  </body>

  

 

  • 大小: 9.7 KB
  • 大小: 7.9 KB
分享到:
评论

相关推荐

    jQuery Spin button 文本框数值自动增减插件

    内容索引:脚本资源,jQuery,文本框,jQuery插件 jQuery Spin button 文本框数值自动增减插件,本插件将文本框的右侧添加一个按钮,通过这个按钮可以改变用户输入数值的大小,可以增加,也可以减小,只用点击鼠标就可...

    JQuery 文本框回车跳到下一个文本框示例代码

    在本示例中,我们将通过jQuery库来实现这一功能。 首先,我们需要理解jQuery的基本用法。jQuery是一个轻量级的JavaScript库,它简化了HTML文档遍历、事件处理、动画以及Ajax交互等任务。在这个场景中,我们将利用...

    jQuery 文本框输入字符限制插件

    内容索引:脚本资源,jQuery,字符限制,jQuery插件 jQuery 文本框输入字符限制插件,也就是在你输入文字的时候,根据程序要求,可以限制一部分否提交或是不显示,实现截取字符的作用,比如在有些留言本或评论程序限制...

    拼音首字母文本框自动完成源码_aspx开发教程.rar

    这个“拼音首字母文本框自动完成源码_aspx开发教程”提供了一个实现这一功能的示例代码,适用于快速搜索或筛选以特定拼音首字母开头的中文名称。 首先,我们需要理解这个功能的工作原理。当用户在文本框中输入汉字...

    ajax文本框自动补全功能

    这种功能类似于百度搜索引擎的自动索引功能,用户在输入框中输入文字时,系统会根据已有的数据动态提供匹配的建议,从而减少用户输入的时间和错误率。 要实现这样的功能,首先我们需要一个HTML文本框(`...

    jquery实现Google自动下拉框

    jQuery是一个快速、简洁的JavaScript库,其设计宗旨是“write less, do more”,即倡导编写更少的代码来实现更多的功能。它简化HTML文档遍历、事件处理、动画等操作,并且提供Ajax交互的支持。 ##### 2. 实现原理 -...

    文本框检索

    文本框检索是网络应用和软件系统中常见的功能之一,它涉及到用户输入关键词,系统通过一定的算法从大量数据中快速找出与关键词匹配的记录。在网页设计和开发中,这一功能通常与前端交互和后端数据库查询密切相关。在...

    基于ajax文本框自动填写相关内容

    在SQL Server 2005方面,可能涉及到索引优化和查询性能调优,以确保在大量数据下也能快速响应。 综上所述,"基于Ajax文本框自动填写相关内容"的技术实现涉及前端的Ajax交互、asp.net后端处理以及SQL Server 2005...

    jQuery文本框自动联想补全特效特效代码

    这个特效代码基于JavaScript库jQuery构建,主要用于实现文本输入时的智能提示和建议,使得用户在输入过程中能够快速找到并选择他们想要输入的词汇。 首先,jQuery是JavaScript的一个轻量级框架,它简化了DOM操作、...

    jQuery实现回车键(Enter)切换文本框焦点的代码实例

    逻辑实现主要通过获取当前输入框的索引,然后使用jQuery选择器“:input:text:eq("+nxtIdx+")”找到下一个输入框,并调用.focus()方法使其获得焦点。这里使用eq()方法是基于当前输入框索引位置加1得到下一个输入框的...

    jquery-easyui-1.4.5 demo带索引及中文api

    `jQuery EasyUI` 是一个基于 jQuery 的前端框架,它提供了丰富的用户界面组件,使得开发者能够快速构建出功能完备且美观的Web应用。`jQuery EasyUI 1.4.5` 版本是这个框架的一个重要版本,包含了多个改进和修复。在...

    jquery 鼠标滚轮控制文本框数字改变

    内容索引:脚本资源,jQuery,鼠标,滚动 jquery 鼠标滚轮控制文本框数字改变,不知道如何描述给大家,也就是在网页的文本框中,只要鼠标移上后,文本框的文字就处于选中状态,如果这时候滚动鼠标滚轮,则选中状态的...

    仿搜索引擎文本框自动补全插件

    总的来说,"仿搜索引擎文本框自动补全插件"的实现涉及到前端的JavaScript/jQuery编程,后端的数据处理,以及CSS样式设计。理解这些知识点并熟练运用,可以提升网站的用户体验,增加用户满意度。通过查看提供的`index...

    ASP.NET+jQuery 实现google successtion

    通过以上步骤,ASP.NET与jQuery结合实现了类似于Google Suggest的效果,极大地提升了用户体验,使得搜索过程更加流畅和快速。这种技术在现代Web开发中仍然具有很高的实用价值,尤其是在实时搜索和自动补全场景中。

    自动匹配文本框

    综上所述,实现"自动匹配文本框"涉及多种技术,包括模糊查询算法、实时事件处理、数据结构、UI设计、异步加载、错误处理以及性能优化等。这个过程需要前端开发人员具备扎实的编程基础和良好的用户体验设计能力。

    超实用的jQuery代码段

    《超实用的jQuery代码段》的代码跨平台、跨设备、跨浏览器,充分向读者演示了如何使用jQuery的各项技术,实现令人激动的网页效果。   《超实用的jQuery代码段》从jQuery框架的使用原理与应用场景出发,对最实用的...

    jQuery获取Select选择的Text和_Value

    jQuery 获取和设置 Select 选择的 Text 和 Value jQuery 获取 Select 选择的 Text 和 Value 是一种常见的操作,例如在表单提交前获取用户选择的选项,或者在页面加载时根据服务器端的数据设置选择的选项。本文将...

    用Enter键控制多个文本框获取焦点

    4. **遍历文本框**:`getNextInput`函数通过`querySelectorAll`选择所有文本框元素,并使用`indexOf`找出当前焦点文本框的索引。然后计算出下一个文本框的索引,如果存在,则返回该文本框元素,否则返回null。 5. *...

    jquery.popup 支持树控的文本框弹出层插件

    内容索引:脚本资源,jQuery,树形菜单,jQuery弹出层 jquery.popup是一款支持树控(树形菜单)功能的文本框弹出层插件,应该说是一款选择插件,在弹出的层内选择适合的操作,值会自动填入文本框中,示例中的三个文本框...

    jquery课件教程

    jQuery社区非常活跃,有大量的插件和扩展可供使用,能够帮助开发者快速实现各种复杂的功能。 为了深入学习jQuery,开发者应该熟悉其API在线手册,访问***可以找到丰富的API文档和示例代码。同时,可以通过***加入...

Global site tag (gtag.js) - Google Analytics