Das Änderungsereignis wird nach dem Ereignis blur
an einem Eingang ausgelöst, dh wenn der Eingang den Fokus verliert. Die MDN-Dokumentation beschreibt dies:
Wenn das Element den Fokus verliert, nachdem sein Wert geändert wurde, aber nicht verpflichtet (z nach der Bearbeitung den Wert oder).
Seit input
ist vom Typ versteckt es wird nie mit dem input
jede Interaktion mit dem Benutzer, es sei denn, der Client-Seite Skript von Ihrer Website vorgesehen, wird sich nicht ändern Sinn ändert, was die Änderungsereignis nicht ausgelöst.
sind hier zwei Möglichkeiten:
Anrufänderung() explizit
Jedes Mal, wenn Sie den Wert des verborgenen Eingang Anruf ändern .change()
das Ereignis auszulösen.
$(document).ready(function(){
var $hello= $('[id$=myValue]');
$hello.on("change", function(){
alert('hey');
});
$hello.val("Something");
$hello.change();
});
Rufen Sie einfach den Code ohne dass der HF
Statt den Ereignishandler verwenden nur den Code ausführen Sie innerhalb der Quelle haben würde.
Eine andere Sache, die ich erwähnen möchte, ist der Selektor kann ein wenig besser sein.
var $hello= $('input[id$=myValue]');
Und wenn Ihr eine neue Version von jQuery verwenden lieber on
statt bind
wie im obigen Beispiel gezeigt.
Wie ändern Sie Eingabewert? Mit val() programmatisch? –
Welche Version von Jquery verwenden Sie? –
Ich verwende JQuery 1.8.3. Es ist eine JSF-Java-Anwendung, also ist es programmatisch. –