zmiana zdarzenia nie działa dla pola tekstowego, gdy wartość jest przypisana zewnętrznie

Mam pole tekstowe i przycisk. Po kliknięciu przycisku ustawia określoną wartość w polu tekstowym. Chcę przesłać stronę za każdym razem, gdy zmieni się wartość pola tekstowego.

Proszę sprawdzićtutaj

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! ');
    });
});

Mogę wyzwolić zdarzenie zmiany podczas edytowania zawartości pola tekstowego. Wiem, że zdarzenie zmiany jest wyzwalane, gdy pole tekstowe traci fokus. Nie dotyczy to zmiany wartości kliknięciem przycisku.

Widziałem odpowiedzi, które monitorują pole tekstowe pod kątem zmiany w określonym przedziale czasu, powiedzmy 0,1 sekundy.

Czy nie ma innego sposobu, aby to zrobić. Dzięki.

EDIT - 1 *Przepraszam, że nie jest jasne* w moim oryginalnym poście.

Moim wymaganiem jest wyzwolenie zdarzenia za każdym razem, gdy zmieni się zawartość inputbox - niekoniecznie przez kliknięcie przycisku. Dodałem przycisk, aby wyjaśnić problem. Zmiana może wynikać z jakiegokolwiek powodu.

Tak więc kod (wewnątrz funkcji kliknięcia przycisku)

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

nie rozwiąże problemu. Mam nadzieję, że tym razem jestem czysty.

Proszę zasugeruj.

questionAnswers(6)

yourAnswerToTheQuestion