Есть ли способ передать параметр в метод $ .change ()?

0

Я написал функцию, которая вызывается при изменении текста ввода текста -

В HTML -

<input id="unique" type="text" data-ng-change="KeywordChange(filterKey)" ng-model="$parent.filterKey">

в контроллере

$scope.KeywordChange = function (filterKey) {
    //some logic goes here
}

Функция изменения ключевого слова хорошо работает при изменении текста текстового поля. но я хочу, чтобы эта функция НЕ вызывалась при изменении значения входного текстового поля, подобного этому

 $('#unique').val('');
 $('#unique').change();

и я должен изменить значение текстового поля программно - так есть ли какой-либо вариант, чтобы знать, что функция keywordChange вызывается фактическим изменением текста в текстовом поле или вызвана программным вызовом $('#unique').change();

  • 0
    jsfiddle.net/n0kfdbh3 проверьте эту скрипку, это может помочь

2 ответа

1
Лучший ответ

Если вы хотите изменить значение текстового поля (которое привязано к некоторым данным) программно в AngularJs, то все, что вам нужно сделать, это обновить соответствующую модель.

Использование jQuery для обновления пользовательского интерфейса наиболее определенно не рекомендуется.

Вам нужно просто обновить свойство filterKey в JavaScript из вашего кода AngularJs.

  • 0
    Да, конечно, именно поэтому мы используем AngularJs, но в моем случае как-то - мне нужно использовать jQuery для обновления значения текстового поля.
  • 0
    Откуда ты пытаешься его обновить? Это из одного контроллера? или где-то еще? если вы обновляете значение текстового поля вне контроллера, то вы не используете AngularJs должным образом. Контроллер будет отвечать за обновления пользовательского интерфейса через привязку модели. Если вы обновляете пользовательский интерфейс из-за пределов контроллера, вам необходимо либо повторно учитывать ваш код, либо прибегнуть к обмену данными контроллера с помощью $ broadcast или $ emit.
Показать ещё 1 комментарий
1

Почему бы просто не использовать ng-keyup, так как все, о чем вы заботитесь, это физические штрихи?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню