Angular.js: ng-model no se actualiza al enviar un valor a un campo de entrada

Creado en 19 ago. 2015  ·  3Comentarios  ·  Fuente: angular/angular.js

ejemplo: tengo 3 campos de entrada. Los valores del primer y segundo campo de entrada se calculan y el resultado se muestra en el tercer cuadro de entrada.

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">

Puedo ver el resultado en el formulario en input3, pero ¿cómo puedo actualizar el modelo?

Comentario más útil

prueba esto-

$("#input3")
  .val(result)
  .trigger('change')

generalmente, desea actualizar el modelo al que está vinculada su entrada (y dejar que angular lo propague a la vista) en lugar de actualizar su vista directamente. este último normalmente solo se usa en pruebas unitarias.

Todos 3 comentarios

prueba esto-

$("#input3")
  .val(result)
  .trigger('change')

generalmente, desea actualizar el modelo al que está vinculada su entrada (y dejar que angular lo propague a la vista) en lugar de actualizar su vista directamente. este último normalmente solo se usa en pruebas unitarias.

En realidad, esto no se siente como un código angular. En Angular, es al revés: actualizas el modelo y el cambio se refleja en la vista. (El modelo es la única fuente de verdad).

Entonces, en lugar de intentar establecer el valor y esperar que el modelo se actualice, debe actualizar el modelo ( editForm.input3 ) y el valor del elemento se actualizará como resultado.

Dicho esto, esta es una pregunta de apoyo general y debe dirigirse a los canales apropiados .
Los problemas de GitHub están reservados para informes de errores y solicitudes de funciones.

Esto fue útil para mi integración typeahead + bloodhound con angularJS

¿Fue útil esta página
0 / 5 - 0 calificaciones