Heim >Web-Frontend >js-Tutorial >Simulieren Sie eine Dropdown-Liste für die Fuzzy-Suche, ähnlich den Google_Javascript-Fähigkeiten von Baidu

Simulieren Sie eine Dropdown-Liste für die Fuzzy-Suche, ähnlich den Google_Javascript-Fähigkeiten von Baidu

WBOY
WBOYOriginal
2016-05-16 16:52:271599Durchsuche
Code kopieren Der Code lautet wie folgt:

// JavaScript-Dokument
function onChangehoverLi(thisLi) {
$("#searchtext").val($(thisLi).html());
$("#suggest_ul").hide(0); }

$(function(){
//Dropdown-Li beim Laden ausblenden
$("#suggest_ul").hide(0);
}); >
/ /Ajax ruft dynamisch Schlüsselwörter ab

//Auf Textfeld-Eingabeänderungen hören

Funktion fuzzySearch(){

//Ajax-Objektfunktion erstellen
function createLink(){
if(window.ActiveXObject){
var newRequest = new ActiveXObject("Microsoft.XMLHTTP"); >}
return newRequest;
}

//Wenn das Textfeld leer ist, senden Sie die Anfrage nicht
if($("#searchtext").val().length ==0||$(" #searchtext").val().length>10){
$("#suggest_ul").hide(0);
}
//Anfrage senden
http_request = createLink();//Erstelle ein Ajax-Objekt
if(http_request){
var sid = $("#searchtext").val();
var url = "contentSearchAction!getSynonyms.action" ;
var data = "keywords="
//alert(data)
http_request.open("post",url,true); 🎜>http_request.setRequestHeader("content -type","application/x-www-form-urlencoded");

//Geben Sie eine Funktion an, um die vom Server zurückgegebenen Ergebnisse zu verarbeiten
http_request.onreadystatechange = Dealresult; //Für diese Funktion sind keine Klammern erforderlich
//Anfrage senden
http_request.send(data);

//Verarbeiten Sie das Rückgabeergebnis
Funktion Dealresult (){
if(http_request.readyState== 4){
//Gleich 200 bedeutet Erfolg
if(http_request.status==200){
if(http_request.responseText==" no"){
$("#suggest_ul") .hide(0);
return;

}
$("#suggest_ul").show(0);
var res = eval("(" http_request.responseText ") ");
var content="";
for(var i=0;ivar keywords = res[i].keywords;
contents=contents "
  • " keywords "
  • "

    }
    $("# suggest_ul").html(contents);


    }
    }
    }

    }
    //Maus
    $(function(){

    //Anzeige der Dropdown-Eingabeaufforderung 300 Millisekunden nach dem Drücken der Taste
    $("#searchtext").keyup(function(){
    setInterval(changehover,300);
    function changehover() {
    $("#suggest_ul li").hover(function(){ $(this).css("background","#eee ");},function(){ $(this).css(" background","#fff");});
    }
    });

    });


    Seite:




    Code kopieren

    Der Code lautet wie folgt:

    ;html xmlns="http://www.w3.org/1999/xhtml"> ; searchSuggest</title> ; <U><link href="css/searchSuggest.css" type="text/css" rel="stylesheet" > <script type="text/javascript" src="js/jquery- 1.7.1.js"></script> </a><script type="text/javascript" src="js /searchSuggest.js"></script> </span><style> </div>#suggest_ul{ <div class="codebody" id="code74018">width:100%; <br>max-height:223px; <br>margin:0px; <br>padding:0px; <br>border:1px solid #ccc;<br>list-style-type:none <br><br><br> #suggest_ul li{ <br>padding-left:5px; <br>font-size:13px; <br>height:22px; :default; <br></style> <br><br><div id="searchSuggest"< ;form action="deal.php" method="get" id="suggest_form"> ;<input type="text" id="searchtext" name="searchtext" autocomplete="off" value=" suchen..." oninput="fuzzySearch();" onblur="if(this. value==''){this.value='search...'}" onfocus="if(this.value==' search...'){this.value=''}"/> <br><input type="submit" value="Search" id="suggest_submit" /> <br></form> <br><ul id="suggest_ul"></ul> ><br><br>Während der Verwendung habe ich eine Situation festgestellt, in der ich bei der Eingabe von Chinesisch nicht nach der Eingabemethode des iOS-Systems gesucht habe, da der Benutzer zuerst die Taste gedrückt hat virtuelle Tastatur. <br><br>Wenn Chinesisch angezeigt wird, können Sie den Wert im Eingabefeld auf Chinesisch ändern. <br><br>Die endgültige Lösung besteht darin, das Ereignis oninput zu verwenden. Dieses Ereignis ist im neuesten HTML5 sehr einfach zu verwenden, es ist jedoch problematisch, dass einige Browser niedrigerer Versionen nicht kompatibel sind.</div></div><div class="nphpQianMsg"><div class="clear"></div></div><div class="nphpQianSheng"><span>Stellungnahme:</span><div>Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn</div></div></div><div class="nphpSytBox"><span>Vorheriger Artikel:<a class="dBlack" title="jquery verwendet das JXL-Plug-in, um Excel example_jquery zu exportieren" href="https://m.php.cn/de/faq/13364.html">jquery verwendet das JXL-Plug-in, um Excel example_jquery zu exportieren</a></span><span>Nächster Artikel:<a class="dBlack" title="jquery verwendet das JXL-Plug-in, um Excel example_jquery zu exportieren" href="https://m.php.cn/de/faq/13366.html">jquery verwendet das JXL-Plug-in, um Excel example_jquery zu exportieren</a></span></div><div class="nphpSytBox2"><div class="nphpZbktTitle"><h2>In Verbindung stehende Artikel</h2><em><a href="https://m.php.cn/de/article.html" class="bBlack"><i>Mehr sehen</i><b></b></a></em><div class="clear"></div></div><ins class="adsbygoogle" style="display:block" data-ad-format="fluid" data-ad-layout-key="-6t+ed+2i-1n-4w" data-ad-client="ca-pub-5902227090019525" data-ad-slot="8966999616"></ins><script> (adsbygoogle = window.adsbygoogle || []).push({}); </script><ul class="nphpXgwzList"><li><b></b><a href="https://m.php.cn/de/faq/1609.html" title="Eine eingehende Analyse der Bootstrap-Listengruppenkomponente" class="aBlack">Eine eingehende Analyse der Bootstrap-Listengruppenkomponente</a><div class="clear"></div></li><li><b></b><a href="https://m.php.cn/de/faq/1640.html" title="Detaillierte Erläuterung des JavaScript-Funktions-Curryings" class="aBlack">Detaillierte Erläuterung des JavaScript-Funktions-Curryings</a><div class="clear"></div></li><li><b></b><a href="https://m.php.cn/de/faq/1949.html" title="Vollständiges Beispiel für die Generierung von JS-Passwörtern und die Erkennung der Stärke (mit Download des Demo-Quellcodes)" class="aBlack">Vollständiges Beispiel für die Generierung von JS-Passwörtern und die Erkennung der Stärke (mit Download des Demo-Quellcodes)</a><div class="clear"></div></li><li><b></b><a href="https://m.php.cn/de/faq/2248.html" title="Angularjs integriert WeChat UI (weui)" class="aBlack">Angularjs integriert WeChat UI (weui)</a><div class="clear"></div></li><li><b></b><a href="https://m.php.cn/de/faq/2351.html" title="Wie man mit JavaScript schnell zwischen traditionellem Chinesisch und vereinfachtem Chinesisch wechselt und wie Websites den Wechsel zwischen vereinfachtem und traditionellem Chinesisch unterstützen – Javascript-Kenntnisse" class="aBlack">Wie man mit JavaScript schnell zwischen traditionellem Chinesisch und vereinfachtem Chinesisch wechselt und wie Websites den Wechsel zwischen vereinfachtem und traditionellem Chinesisch unterstützen – Javascript-Kenntnisse</a><div class="clear"></div></li></ul></div></div><ins class="adsbygoogle" style="display:block" data-ad-format="autorelaxed" data-ad-client="ca-pub-5902227090019525" data-ad-slot="5027754603"></ins><script> (adsbygoogle = window.adsbygoogle || []).push({}); </script><footer><div class="footer"><div class="footertop"><img src="/static/imghwm/logo.png" alt=""><p>Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!</p></div><div class="footermid"><a href="https://m.php.cn/de/about/us.html">Über uns</a><a href="https://m.php.cn/de/about/disclaimer.html">Haftungsausschluss</a><a href="https://m.php.cn/de/update/article_0_1.html">Sitemap</a></div><div class="footerbottom"><p> © php.cn All rights reserved </p></div></div></footer><script>isLogin = 0;</script><script type="text/javascript" src="/static/layui/layui.js"></script><script type="text/javascript" src="/static/js/global.js?4.9.47"></script></div><script src="https://vdse.bdstatic.com//search-video.v1.min.js"></script><link rel='stylesheet' id='_main-css' href='/static/css/viewer.min.css' type='text/css' media='all'/><script type='text/javascript' src='/static/js/viewer.min.js?1'></script><script type='text/javascript' src='/static/js/jquery-viewer.min.js'></script><script>jQuery.fn.wait = function (func, times, interval) { var _times = times || -1, //100次 _interval = interval || 20, //20毫秒每次 _self = this, _selector = this.selector, //选择器 _iIntervalID; //定时器id if( this.length ){ //如果已经获取到了,就直接执行函数 func && func.call(this); } else { _iIntervalID = setInterval(function() { if(!_times) { //是0就退出 clearInterval(_iIntervalID); } _times <= 0 || _times--; //如果是正数就 -- _self = $(_selector); //再次选择 if( _self.length ) { //判断是否取到 func && func.call(_self); clearInterval(_iIntervalID); } }, _interval); } return this; } $("table.syntaxhighlighter").wait(function() { $('table.syntaxhighlighter').append("<p class='cnblogs_code_footer'><span class='cnblogs_code_footer_icon'></span></p>"); }); $(document).on("click", ".cnblogs_code_footer",function(){ $(this).parents('table.syntaxhighlighter').css('display','inline-table');$(this).hide(); }); $('.nphpQianCont').viewer({navbar:true,title:false,toolbar:false,movable:false,viewed:function(){$('img').click(function(){$('.viewer-close').trigger('click');});}}); </script></body><!-- Matomo --><script> var _paq = window._paq = window._paq || []; /* tracker methods like "setCustomDimension" should be called before "trackPageView" */ _paq.push(['trackPageView']); _paq.push(['enableLinkTracking']); (function() { var u="https://tongji.php.cn/"; _paq.push(['setTrackerUrl', u+'matomo.php']); _paq.push(['setSiteId', '9']); var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s); })(); </script><!-- End Matomo Code --></html>