Функция огня при изменении тега <input>с помощью jQuery (флажок / текстовое поле) - PullRequest
0 голосов
/ 07 октября 2011

Я хочу запустить функцию updateTotals () всякий раз, когда в форме меняются входные теги (флажки, текстовые поля).

Я использую Telerik MVC NumericTextBoxes / PercentTextBoxes, которые в конечном итоге отображаются как теги так же, какмои флажки.

Я пытался применить что-то подобное к моей странице, чтобы сделать это:

$("#SupervisionRequired").change(updateTotals());

Этот jQuery срабатывает при начальной загрузке страницы, но не срабатывает при изменении флажка.

Поскольку я использую несколько общих помощников MVC, основанных на моей модели (EditorFor, TextBoxFor), я не могу напрямую применить событие onChange к этим элементам управления.Моя конечная цель - вызвать функцию updateTotals (), когда флажок установлен или снят, а также когда пользователь щелкает за пределами входного тега (для NumericTextBoxes).

Что я могу сделать, чтобы изменить мой вышеjQuery, или добавить к нему, чтобы сделать это возможным?

Ответы [ 2 ]

3 голосов
/ 07 октября 2011

Правильный синтаксис:

$("#SupervisionRequired").change(updateTotals);

(без () после updateTotals)

1 голос
/ 07 октября 2011

Оберните функцию updateTotals() внутри function(){}.

$("#SupervisionRequired").change(function(){
    updateTotals()
});

В настоящее время вы немедленно вызываете функцию updateTotals() и передаете возвращаемое значение в качестве прослушивателя события change.

Вместо добавления события change к $("#SupervisionRequired") вы используете селектор для выбора всех элементов ввода внутри формы, например: $("#myFormName input").change(function(){updateTotals();}).

...