本文實(shí)例講述了php+mysql+jquery實(shí)現(xiàn)簡(jiǎn)易的檢索自動(dòng)補(bǔ)全提示功能。分享給大家供大家參考,具體如下:
這段時(shí)間看了一些關(guān)于自動(dòng)補(bǔ)全提示方面的內(nèi)容,發(fā)現(xiàn)大部分實(shí)現(xiàn)過(guò)程都十分復(fù)雜。心想這應(yīng)該是一個(gè)比較簡(jiǎn)單的功能啊,于是自己親自動(dòng)手來(lái)小試一下。思路很常規(guī),需要說(shuō)明的是沒(méi)有為提示內(nèi)容綁定鍵盤(pán)事件,僅可用鼠標(biāo)操作。
html+jQuery內(nèi)容:
<html> <head> <style type="text/css"> #autoBox { margin: 0px; padding: 0px; border: 1px solid #CCCCCC; width: 200px; } #autoBox li { clear: both; background-color: white; color: black; position: relative; top: 0px; left: 0px; line-height: 25px; width:200px; text-align: left; overflow: hidden; } #autoBox li:hover { background-color: gray; color: yellow; cursor: pointer; } </style> <script type="text/javascript" src="js/jquery-1.9.1.min.js"></script> <script type="text/javascript"> $(function(){ $.ajaxSetup({cache:false}) ; //不緩存 //以下代碼用于顯示檢索提示框 $("#autoBox").hide(); //初始化時(shí)隱藏補(bǔ)全提示框 $("#stuSearch").keyup(function(){ //輸入框中的keyup事件激活以下查詢(xún)行為 $("#autoBox").html(""); //先清空補(bǔ)全提示框原有內(nèi)容 if($("#stuSearch").val().length>0) // 如果輸入框不為空 { $.ajax({ //后臺(tái)調(diào)用php文件進(jìn)行查詢(xún) type:"post", url:"phpFiles/stuSearch.php", dataType:"json", data:{keywords:$("#stuSearch").val()}, success:function(feedbackdata) { $("#autoBox").show();// 顯示補(bǔ)全提示框 for(i=0;i<feedbackdata.length;i++) //將結(jié)果添加到提示框中 { $("#autoBox").append("<li>"+feedbackdata[i]['truename']+"</li>"); } $("#autoBox li").on("click",function(){ //為這些新增的li綁定單擊事件,單擊后將其值賦到輸入框中 $("#stuSearch").val($(this).text()); }) $("#autoBox").append("<li style='text-align:right'>關(guān)閉</li>");//在提示框的最后添加一個(gè)li用來(lái)關(guān)閉 $("#autoBox li:last").on("click",function(){ // 添加單擊事件,單擊后隱藏提示框 $("#autoBox").hide(); }) } }); } }) }) </script> </head> <body> <input type="text" placeholder="輸入您想檢索的關(guān)鍵詞后回車(chē)。" id="stuSearch" name="stuSearch"/> <ul id="autoBox"> </ul> </body> </html>
stuSearch.php代碼
<?php include '../phpFiles/connMysql.php'; $keywords=$_POST['keywords']; $myrs=mysql_query("select * from users where truename like '".$keywords."%'"); if($myrs) { while($row=mysql_fetch_array($myrs)) { $temp[]=$row; } echo(json_encode($temp)); } ?>
效果圖
輸入時(shí):
點(diǎn)擊某一項(xiàng)后:
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《PHP+ajax技巧與應(yīng)用小結(jié)》、《PHP網(wǎng)絡(luò)編程技巧總結(jié)》、《PHP基本語(yǔ)法入門(mén)教程》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門(mén)教程》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫(kù)操作入門(mén)教程》及《php常見(jiàn)數(shù)據(jù)庫(kù)操作技巧匯總》
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
【網(wǎng)站聲明】本站除付費(fèi)源碼經(jīng)過(guò)測(cè)試外,其他素材未做測(cè)試,不保證完整性,網(wǎng)站上部分源碼僅限學(xué)習(xí)交流,請(qǐng)勿用于商業(yè)用途。如損害你的權(quán)益請(qǐng)聯(lián)系客服QQ:2655101040 給予處理,謝謝支持。