当前位置: 移动技术网 > IT编程>开发语言>JavaScript > jquery仿搜索自动联想功能代码

jquery仿搜索自动联想功能代码

2019年03月24日  | 移动技术网IT编程  | 我要评论

代码如下:


<!doctype html public "-//w3c//dtd html 4.01 transitional//en" "https://www.w3.org/tr/html4/loose.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<title>insert title here</title>
<style type="text/css">
body{margin:0px;padding:0px;}
ul{margin:px;padding:0px;list-style-type:none;}
</style>
<script src="jquery-1.8/jquery-1.8.0.js"></script>
<script>
$(function(){
a();
onclick();
$("#txt").bind("keyup",function(){
txtchange(0);
});

});

function a(){
ularray=[];
var data=[{1:11},{1:12},{1:22},{1:33},{1:123}];

//给ul传入数据
var ul=$("#ul1");
$.each(data,function(index,item)
{
var li=$("<li></li>");

$.each(item,function(name,value)
{
var span=$("<span></span>").html(value);
li.append(span);
ularray.push(value);
});
ul.append(li);
});

//排序
ularray.sort();
};

//keyup事件
function txtchange(flag)
{
var textobj=$("#txt").val();
var pobj=$("#p1").html();
var array=[];

with(pobj)
{
var ulhtml=pobj.match(/<[^>]*>/)[0];//拿到开始标签
val = ularray+ ""; //转为字符串

for(var i=0;i<ularray.length;i++)
{
if(val.split(",")[i].indexof(textobj)!==-1||flag) //分割成字符串数组
{
array[array.length]="<li><span>"+ularray[i]+"</span></li>";
};
};//把新得到的集合放入数组

var lihtml = "";
$.each(array,function(item,val){
lihtml += val;
});//去掉数组间逗号

pobj=ulhtml+lihtml+"</ul>";
$("#ul1").html(pobj);
onclick(); //让新得到的数组拥有点击功能
};
};

//span单击事件
function onclick(){
$("#ul1 li span").click(function()
{
var oli=$(this);
var otxt=$(this).html();
$("#txt").empty().val(otxt);

});
};
</script>
</head>

<body >
<center>
<form>
<input id="txt" type="text" />
自动提示
<p id="p1">
<ul id="ul1" >
</ul>
</p>
</form>
</center>
</body>
</html>

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网