пример: у меня есть 3 поля ввода. Значения из первого и второго поля ввода вычисляются, и результат отображается в третьем поле ввода.
var1 = parseFloat($("#input1").val();
var2 = parseFloat($("#input2").val();
result = var1 + var2;
$("#input3").val(result);
<input type="number" id="input3" name="input3" ng-model="editForm.input3" ng-currency class="form-control input-sm" placeholder="input3">
я могу увидеть результат в форме на input3, но как я могу обновить модель?
попробуй это-
$("#input3")
.val(result)
.trigger('change')
как правило, вы хотите обновить модель, к которой привязан ваш ввод (и позволить angular распространять его на представление) вместо того, чтобы напрямую обновлять ваше представление. последний обычно используется только в модульных тестах.
На самом деле это не похоже на код Angular. В Angular все наоборот: вы обновляете модель, и изменение отражается в представлении. (Модель - единственный источник истины.)
Итак, вместо того, чтобы пытаться установить значение и ожидать обновления модели, вы должны обновить модель ( editForm.input3
), и в результате будет обновлено значение элемента.
Тем не менее, это общий вопрос поддержки, и его следует направлять по соответствующим каналам .
Проблемы GitHub зарезервированы для отчетов об ошибках и запросов функций.
Это пригодилось для моей интеграции typeahead + bloodhound с angularJS
Самый полезный комментарий
попробуй это-
как правило, вы хотите обновить модель, к которой привязан ваш ввод (и позволить angular распространять его на представление) вместо того, чтобы напрямую обновлять ваше представление. последний обычно используется только в модульных тестах.