2015-03-03 20 views
6

Ich habe eine Anwendung erstellt, in der es ein Textfeld für die Suche von Informationen aus der Tabelle gibt. Obwohl ich den Code geschrieben habe, wenn wir das Zeichen in Suchtextfeld eingeben, geht nach dem Akzeptieren von einem Zeichen die Kontrolle aus dem Textfeld. dies ist mein Code für searching`Suche Daten von dynamisch erstellten Tabelle

<script type="text/javascript"> 
 
$(document).ready(function() 
 
{ 
 
    var minlength = 1; 
 

 
    $("#searchTerm").keyup(function() { 
 
     
 
     value = $(this).val(); 
 
\t \t 
 
\t \t if (value.length > minlength) 
 
\t \t { 
 
\t \t \t searchTable(value); 
 
\t \t } 
 
\t \t else if(value.length < minlength) 
 
\t \t { 
 
\t \t \t searchTable(""); 
 
\t \t } \t 
 
\t }); 
 
}); 
 
function searchTable(value) 
 
{ 
 
\t $.ajax({ 
 
\t \t type: "GET", 
 
\t \t url: "dispatient.php", 
 
\t \t data:({search_keyword: value}), 
 
\t \t success: function(success) 
 
\t \t { 
 
\t \t \t window.location.href = "dispatient.php?search_keyword="+value; \t 
 
\t \t \t $("#searchTerm").focus(); 
 
\t \t }, 
 
\t \t error: function() 
 
\t \t { 
 
\t \t \t alert("Error occured.please try again"); \t 
 
\t \t }, 
 
\t \t complete: function(complete) 
 
\t \t { 
 
\t \t \t $("#searchTerm").focus(); 
 
\t \t }, 
 
\t \t 
 
\t }); 
 
}
<input id="searchTerm" Type="text" class="search_box" placeholder="Search" 
 
\t \t \t value = <?php echo $_GET['search_keyword'] ?> >

` Bitte mir vorschlagen ..

Dank im Voraus ..

+0

Kein Punkt in AJAX verwenden, wenn Sie die Seite aktualisieren gehen, könnte genauso gut serverseitige Sprache verwenden. – EternalHour

Antwort

2

value Standard ist Attribut von JavaScript versuchen, Ändern Sie den Variablennamen value in etwas wie searchData

+0

Danke @narendra im ändern, dass Wert Attribut, aber immer noch nicht funktioniert plzzz mir helfen –

+0

Überprüfen Sie, ob es einen Fehler wirft ... –

+0

keine Fehler zeigen .. –

2

In Ihrem Erfolgsrückruf leiten Sie die Seite auf dispassient.php um. Ich glaube, dies ist die gleiche Seite, die die Suchfunktionalität hat. Sobald Sie umleiten, wird die Seite neu geladen wieder und es hat keinen Sinn schriftlich:

$("#searchTerm").focus(); 

Da sind Sie schon AJAX verwenden, versuchen Sie die Daten von Erfolg Laden auf Ihrer Seite durch JavaScript/jQuery, ohne die Seite neu zu laden .

+0

danke für das Antworten zu mir. wenn ich in Textbox eingib, ist Wert, aber die Kontrolle ist aus dem Textfeld heraus, dh die Seite wurde komplett neu geladen. Herr bitte schlagen Sie irgendeine Methode vor. –

+0

Sir, wie man in Text in Textfeld bleibt –

+0

Entfernen Sie die Zeile window.location.href = "dispassient.php? Search_keyword =" + value; Wenn Sie die Seite wirklich neu laden möchten, müssen Sie nach dem erneuten Laden der Seite eine Möglichkeit finden, den Fokus auf das Suchfeld zurückzusetzen. Allerdings sehe ich nicht den Sinn darin. Bitte nennen Sie mich nicht als Herrn, es ist irgendwie peinlich. Vielen Dank! – littleibex

2

Erstellen Sie ein div und laden Sie Ihre Daten darin, anstatt die gesamte Seite neu zu laden.

versuchen so etwas wie dies anstelle von Ajax-Aufruf

<div id="searchResult"></div> 

$("#searchResult").load("search.php?search_keyword=value",function(){ 
//your callback 
}); 
Verwandte Themen