Skip to content

c10476/jquery-input-match

 
 

Repository files navigation

#jquery-input-match

###这是一个JQuery的插件用于处理input输入框的自动联想

  • 提供定制皮肤的方式
  • 待联想的数据可以是静态数据也可以是异步从服务器请求的数据
  • 丰富的参数满足所有的需求

###使用说明

前端 HTML示例

<html>
<head>
	<title>输入框自动提示</title>
	<meta charset="utf-8">
	<script type="text/javascript" src="jquery-1.10.2.min.js"></script>
	<script type="text/javascript" src="jquery-input-match.js"></script>
</head>
<body>
	<input type="text" style="margin-top:100px;margin-left:500px;" name="a" class="input"/>
	<input type="text" style="margin-top:100px;margin-left:600px;" name="b" class="input"/>
	<script type="text/javascript">
		//通过异步请求的数据联想
		$(".input").eq(0).inputMatch({
			url:"demo.php",
			timeout:500,
			selectCallback:'demo',
			mustSelect:false,
			asParam:true,
			paramName:'x',
		});
		
		//基于静态数据联想
		$(".input").eq(1).inputMatch({
			data:[
				{value:1,text:'sfs'},
				{value:1,text:'明天dfgd啊实asdaadasdada打实大'},
				{value:1,text:'dgadfgddas'},
				{value:1,text:'qeg'},
				{value:1,text:'sfddfdad'},
				{value:1,text:'sfddfdad'},
				{value:1,text:'xbgg'},
				{value:1,text:'yudfgdghf'},
				{value:1,text:'cnsdffs'},
				{value:1,text:'rgdgdf'},
				{value:1,text:'iokjdfgdkhj'},
				{value:1,text:'qwqdfdada'},
				{value:1,text:'ujmgng'},
				{value:1,text:'cbfdfgdghn'},
			],
			timeout:500,
			selectCallback:'demo',
			mustSelect:false,
			filter:true,
			matchOnFocus:true,
			fillRightNow:false,
		});
		
		//选择后的回调函数
		function demo(value,text){
			alert("您选中了"+text);
		}
	</script>
</body>
</html>

后端 PHP示例 (demo.php)

<?php
	$arr=array(
		array('value'=>12,'text'=>'qwer'),
		array('value'=>123,'text'=>'abcdefg'),
		array('value'=>142,'text'=>'adadfgrt5tdada'),
		array('value'=>162,'text'=>'adadagjdgsfsda'),
		);
	echo json_encode($arr);
?>

###参数说明

参数名称 参数值
skin 皮肤,默认default
data 待联想的静态数据
url 获取联想数据的地址 (data和url两个参数二选一,当两个参数同时有时只处理data的数据)
asParam 输入内容是否作为url参数(true,false 默认false)(仅有url参数时有效)
paramName 参数名(仅有asParam参数时有效)
repeatRequest 相同url是否重复请求服务器(true,false 默认false)(仅有url参数时有效)
timeout 停止输入后多久从服务器拉取数据 (单位毫秒 默认300)
matchOnFocus 输入框获得焦点时是否触发联想(true,false 默认false)
filter 输入内容是否作为过滤条件(true,false 默认true)
mustSelect 输入框的值是否必须从联想结果选择(true,false 默认false)
maxlength 联想结果的最大显示长度 (默认15,0则显示全部)
fillRightNow 鼠标或上下键在匹配结果上移动时输入框是否实时显示
selectCallback 选择联想结果时的回调函数 (默认空)
  • 含特殊符的数据请处理后传入 如 ' " < > 等
  • 参数data或服务器返回的数据(json)的格式
[
	{value:1,text:'第一名'},
	{value:2,text:'第二名'},
	{value:3,text:'第三名'}
]

###皮肤制作指南

  • themes文件夹内新建css文件 diy.css
  • diy.css的格式如下
@CHARSET "UTF-8";
#diy-input-match-box{
	//your style
}

#diy-input-match-box li{
	//your style
}

#default-input-match-box li.on{
	//your style
}
  • 传入皮肤参数 {skin:diy}

About

个JQuery的插件用于处理input输入框的自动联想

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • HTML 73.9%
  • CSS 17.0%
  • PHP 9.1%