Änderungsereignis funktioniert für ein Textfeld nicht, wenn der Wert extern zugewiesen wird

Ich habe eine Textbox und eine Schaltfläche. Wenn ich auf die Schaltfläche klicke, wird ein bestimmter Wert im Textfeld festgelegt. Ich möchte die Seite immer dann senden, wenn sich der Wert des Textfelds ändert.

Bitte prüfeHier

HTML:

<input type='text' class="set" size=50>
<input type="button" id="click" value="Click" />

JQuery:

$(document).ready(function () {
    $("input").change(function () {
        alert("Changed!");
    });
    $("#click").click(function () {
        $('.set').val('Why am I not getting the alert saying  - Changed! ');
    });
});

Ich kann das Änderungsereignis auslösen, wenn ich den Textfeldinhalt bearbeite. Ich weiß, dass das Änderungsereignis ausgelöst wird, wenn das Textfeld den Fokus verliert. Dies ist nicht der Fall, wenn ich den Wert durch Klicken auf die Schaltfläche ändere.

Ich habe Antworten gesehen, bei denen das Textfeld in einem bestimmten Zeitintervall (z. B. 0,1 Sekunden) auf Änderungen überprüft wird.

Geht das nicht anders? Vielen Dank.

EDIT - 1 *Entschuldigung, dass ich nicht klar bin* in meinem ursprünglichen Beitrag selbst.

Meine Anforderung ist es, ein Ereignis auszulösen, wenn der Inhalt des Eingabefelds geändert wird - nicht unbedingt durch Klicken auf eine Schaltfläche. Ich habe eine Schaltfläche hinzugefügt, um das Problem zu erläutern. Die Änderung kann aus irgendeinem Grund erfolgen.

Also, der Code (innerhalb der Schaltfläche Klickfunktion)

$('.set').val('Hello').change();

wird das Problem nicht lösen. Hoffe, ich bin diesmal klar.

Bitte vorschlagen.

Antworten auf die Frage(6)

Ihre Antwort auf die Frage