2017-08-08 1 views
0

Ich möchte auf der neu laden meiner Seite, legen Sie meine Wert Suche (Lager in localStorage) in einer Eingabe und danach simulieren einen Tastendruck (Typ 13).Tastendruck nach einem input.val() und Fokus() beim Reload funktioniert nicht

Hier ist mein Code:

$(function() { 

if((localStorage.getItem("search")) && (sessionStorage.getItem("reloadAfterPageLoad")!="false")) 
{ 
    $('#datatable_filter input').val(localStorage.getItem("search")).focus().trigger(jQuery.Event('keypress', { keycode: 13, which: 13, charCode: 13 })); 


} 
}); 

Der Fokus() funktioniert als localStorage.getItem ("search"), aber mein Ereignis nie passiert.

Ich versuche schon die Lösung von Einzeln Weise Tastendruck-Ereignisse mit jQuery auslösen:

$(function() { 

if((localStorage.getItem("search")) && (sessionStorage.getItem("reloadAfterPageLoad")!="false")) 
{ 
var e = jQuery.Event("keypress"); 
e.which = 13; 
alert("la recherche était : "+localStorage.getItem("search")); 
$('#datatable_filter input').val(localStorage.getItem("search")).focus().trigger(e); 
sessionStorage.setItem("reloadAfterPageLoad", "false"); 

} 

Und es tut auch nicht funktioniert.

Irgendeine Idee über das Problem? Vielen Dank im Voraus für Ihre Hilfe

+0

Und durch die 'keypress' wie das Auslösen, was für ein Formular oder das, was geschehen soll, sollte? – adeneo

+0

Mögliches Duplikat von [Endgültige Methode zum Auslösen von Tastendruckereignissen mit jQuery] (https://stackoverflow.com/questions/832059/definitive-way-to-trigger-keypress-events-with-jquery) – user1777136

+0

@ adeneo21: Eine Tabelle sollte Aktualisieren, da die Suche einen Filter auf meine Daten anwendet –

Antwort

0

Sie können die Keyenter/Change-Logik Ihrer Eingabe in eine andere Funktion verschieben und sie aufrufen.

$('input').keypress(function(event) { 
 
    updateTable(event); 
 
}); 
 

 
function updateTable(event) { 
 
    //update the table 
 
} 
 

 
#onLoad 
 
$(function() { 
 
    if ((localStorage.getItem("search")) && (sessionStorage.getItem("reloadAfterPageLoad") != "false")) { 
 
    $('#datatable_filter input').val(localStorage.getItem("search")).focus(); 
 
    updateTable(); 
 
    } 
 
});

Verwandte Themen