jQuery+JavaScript+PHP 制作简单的文本框输入自动提示


如众多搜索栏一般,制作类似提示功能。


输入某元素,自动匹配以其为开头的字符串。

省略了从数据库中搜索,直接在php 中给出一些字符串供匹配,已作简单测试。


最后效果如下:


代码如下:

PHP 部分:其中 oData 为传过来的元素

$str = $_GET['oData'];
//$str = "b";
$str_array = array("b","boy11","boy2", "boy22", "baya33", "boy3", "boy4", "bay44", "boy2323", "bay213");
$str1 = "";
$Counts = count($str_array);
for($i=0;$i<$Counts;$i++){
	//
	if(preg_match("/^$str/",$str_array[$i])){
		$str1 .= $str_array[$i];
	    if($i != $Counts-1)
	    	$str1 .= ",";
	}
}
//echo $str2;
	echo $str1;




jQuery 部分:


<script language="javascript" src="jquery.min.js"  src="ajaxlib.js"src="ajaxgold.js"></script>
<script language="javascript" type="text/javascript">
var oInput;
var oPopDiv;
var oNameUl;

function initVars(){
	oInput = $("#names");
	oPopDiv = $("#popup");
	oNameUl = $("#ul_name");
}
function clearNames(){
	oNameUl.empty();
	oPopDiv.removeClass("show");
}
function setNames(the_names){
	clearNames();
	oPopDiv.addClass("show");
	for(var i=0;i<the_names.length;i++)
		oNameUl.append($("<li>"+the_names[i]+"</li>"));
	oNameUl.find("li").click(function(){
		oInput.val($(this).text());
		clearNames();
	}).hover(
		function(){
			$(this).addClass("_hover");},
		function(){
			$(this).removeClass("_hover");}
			);
}


function findNames(){
	initVars();
	if(oInput.val().length >0){
		$.get(
         "config.php",{oData: oInput.val()} ,function(data){
             var aResult = new Array();
             if(data.length>0){
                 aResult = data.split(",");
                setNames(aResult);
             }
             else
                 clearNames();
         });
	}
	else
		clearNames();
}


</script>


css 设置部分:


<style type="text/css">
input{
	width:150px;
	padding:1px;
}
#popup{
	position:absolute;
	width:152px;
	color:#004a7e;
	left:120px;
	top:33px;
}
.show{
	border:1px solid #909090;
}
ul{
	list-style-type:none;
	color:#004a7e;
}
._hover{
	color:#ffffff;
	background-color:#004a7e;
}
</style>
</head>
<body>
<form name="form1" method="post">
Choose Name : <input type="text"name="names"id="names"οnkeyup="findNames()"/>
</form>
<div id="popup">
<ul id="ul_name"></ul>
</div>
</body>



     往后搜索栏设置可按此进行~~奋斗

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值