2016-03-26 6 views
0

Ich bin Karl und ich bin noch neu in diesem Ort und ein Anfänger, wenn es um Kodierung geht. Bitte bei mir tragen. Ich bin mehr in HTML und CSS. Ich habe vor kurzem this Live Search tutorial basierend auf AJAX, JQuery und JSON gefunden, wo die Suchfunktion sofort reagiert, sobald Sie mit der Eingabe im Eingabefeld beginnen. Der keyup() Befehl scheint etwas damit zu tun zu haben.Suchbegriffe einliefern statt live suchen (keyup Funktion)

$('#search').keyup(function(){ 
var searchField = $('#search').val(); 
var myExp = new RegExp(searchField, 'i'); 
$.getJSON('data.json', function(data){ 
    var output = '<ul class="searchresult">'; 
    $.each(data, function(key, val){ 
    if((val.name.search(myExp) != -1) || (val.bio.search(myExp) != -1)) { 
(...) 

Ich teste gerade diese Live-Suche auf einem lokalen Server. (Funktioniert wie ein Charme.)

Ich frage mich, ob es möglich war, benutzerdefinierte Abfragen/Suchbegriffe zu senden, indem Sie sie über die Eingabetaste (auf die herkömmliche Weise) und/oder über eine Such-/Übergabeschaltfläche senden. Ich versuchte, die keyup Funktion mit submit zu ersetzen. Etwas wie zum Beispiel auf this video. Ich habe versucht, diese Art des Einreichens anzuwenden, was in dem oben erwähnten Video erwähnt wurde, aber ich habe es nicht entsprechend funktionieren lassen. Ich habe sogar verschiedene Tutorials über Google gesucht, viele verschiedene Videos auf Youtube, DailyMotion usw. und sogar viele Fragen hier auf Stackoverflow und anderen ähnlichen Seiten verglichen. Vermutlich vermisse ich den Wald für die Bäume.

Jede Hilfe würde sehr geschätzt werden. Vielen Dank im Voraus.

Antwort

0

Um festzustellen, ob die Eingabetaste verwendet wurde, sollten Sie das Ereignisargument "which" für Code 13 testen (einige Codebeispiele: Submitting a form on 'Enter' with jQuery?).

Sie sollten auch das Blur-Ereignis des Felds abhören. (http://www.w3schools.com/jsref/event_onblur.asp)

Und das Letzte: Um über Submit-Button zu senden, sollten Sie auf Klick-Taste für diese Schaltfläche hören.()

+0

Hallo Valker, danke für die schnelle Antwort. Ich habe die Dinge ausprobiert, die du vorgeschlagen hast, aber es scheint nicht funktionieren zu wollen. Jetzt bekomme ich überhaupt keine Ergebnisse. Kurz gesagt, keine Antwort. Mir scheint etwas zu fehlen. Ich möchte keine Unannehmlichkeiten verursachen, aber könnten Sie den Code bitte vollständig posten, damit ich es ausprobieren und sehen kann, ob die Suche entsprechend funktioniert (Schlüssel eingeben und/oder Absenden/Suchen)? Wie ich schon sagte, bin ich immer noch ein Neuling in Sachen Codierung. :( –

+0

Vielleicht in jsfiddle? –

0

Sie können das Suchfeld in ein Formular einfügen. Wenn der Benutzer die Eingabetaste drückt, sendet es ... und Sie stoppen die normale Übermittlungsmethode und senden die Abfrageparameter mit Ajax.

function ajaxSubmit(event){ 
 
    event.preventDefault(); 
 
    
 
    alert('submit stopped'); 
 
    
 
    //ajax code here 
 
    
 

 
};
<form action="" method="post" onSubmit="ajaxSubmit(event)"> 
 
    
 
    <label for="search">Search box:</label><br> 
 
    <input type="search" placeholder="Write here and press enter" id="search"> 
 
    
 
</form>

+0

Hallo Claudio, danke für die schnelle Antwort. Ich habe versucht, die Dinge, die Sie vorgeschlagen, aber es scheint nicht zu arbeiten wollen. Jetzt bekomme ich überhaupt keine Ergebnisse. Kurz gesagt keine Antwort Ich scheine etwas zu vermissen Ich möchte keine Unannehmlichkeiten verursachen, aber könntest du den Code bitte vollständig posten, damit ich es ausprobieren und sehen kann, ob die Suche entsprechend funktioniert (Schlüssel eingeben und/oder abschicken)/search button)? Wie ich schon sagte, bin ich immer noch ein Anfänger in Sachen Codierung. :( –