У меня есть текстовое поле, которое заполняется с помощью javascript, который получает данные, читая QR-код и устанавливая значение. Я использую ng-model для привязки к переменной в моем контроллере, который отлично работает, когда я вручную ввожу текст в текстовое поле, но не тогда, когда он заполнен javascript. Я предполагаю, что есть какое-то событие, которое я должен запустить вручную, чтобы вызвать ng-модель, чтобы сделать это волшебство, но я не знаю, что это за событие и является ли это правильным подходом. Мой ввод выглядит так:
<input type="text" id="read" name="itemId" class="form-control center-block" placeholder="Item Id" ng-model="scannedId"/>
Я устанавливаю значение следующим образом, когда javascript для чтения QR-кода делает свое дело и работает:
$('#read').val(data);
Я пробовал следующее, чтобы попытаться вручную вызвать событие, которое, как я надеялся, ng-model будет прослушивать сразу после назначения val(data), но оба терпят неудачу:
$('#read').trigger('input');
and
angular.element($('#reader')).triggerHandler('onChange');
Все работает нормально, если я набираю его вручную, но не при обновлении с помощью javascript. Заранее спасибо!