php和ajax實現仿百度查詢下拉內容的執行個體詳解
運行效果如下:
html代碼:
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title> <script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script> <style type="text/css"> body{ margin:0; padding: 0; } form{ width: 500px; margin:40px auto; } .search-wrap{ position: relative; } li{ padding: 0; padding-left: 10px; list-style: none; } li:hover{ background-color: #ccc; color: #fff; cursor: pointer; } #xiala{ position: absolute; top: 40px; left: 0; background-color: #c2c2c2; width: 200px; margin:0; padding: 0 ; display: none; } </style></head><body> <form action=""> <p class="search-wrap"> <input type="text" id="search"> <ul id="xiala"> </ul> <input type="button" value="go" id="sousuo"> <p id="searVal" style="display:inline-block;border:1px solid #ccc"></p> </p> </form></body><script type="text/javascript"> var search=$("#search"); search.on("input",function(){ //輸入框內容改變發請求 $.ajax({ url:'a.txt', type:'GET', async:true, data:{value:$("#search").val()}, success:function(data){ var arr=data.split(','); console.log(arr); $("#xiala").html(""); $.each(arr,function(i,n){ var oLi=$("<li>"+arr[i]+"</li>"); $("#xiala").append(oLi); $("#xiala").css("display","block"); }) } }); $("#xiala").css("display","block"); //內容改變下拉框顯示 $("#searVal").html(search.val()) }) function stopPropagation(e) { if (e.stopPropagation){ e.stopPropagation(); }else{ e.cancelBubble = true; } } $(document).on('click',function(){ //點擊頁面的時候下拉框隱藏 $("#xiala").css("display","none"); }); $(document).on("click","#xiala li",function(){ //點擊下拉框選項的時候改變輸入框的值 search.val($(this).text()); $("#searVal").html($(this).text()); $("#xiala").css("display","none"); })</script></html>
a.txt內容:
a,b,c,d,e,f,g