2012-09-14 12 views
33

tengo de entrada como estavalor obligatorio para la entrada en angular JS

<input type="text" name="widget.title" ng-model="widget.title" value="{{widget.title}}"/> 

quiero cambiar dinámicamente el valor de entrada de modo que yo uso, pero eso no cambia el valor:

$scope.widget.title = 'a'; 

Respuesta

63

Usted no es necesario establecer el valor en absoluto. ng-modelo se encarga de todo:

  • establece el valor de entrada del modelo
  • actualización del valor del modelo cuando se cambia la entrada
  • actualización del valor de entrada cuando se cambia el modelo de JS

Aquí está el violín para esto: http://jsfiddle.net/terebentina/9mFpp/

+0

gran ejemplo, he implementado en mi proyecto y funciona perfectamente !! – davidrl1000

-6

{{widget.title}} Prueba esto va a funcionar

14

Si no quiere usar ng-model hay ng-value puede intentarlo.

Aquí está el violín para esto: http://jsfiddle.net/Rg9sG/1/

+1

En el violín de todos modos, esto parece funcionar solo si el valor en el campo de entrada nunca ha cambiado. – vossad01

+1

Tengo el mismo problema, no puedo cambiar el valor del controlador – Mirko

+0

Solo funciona para establecer el valor, pero no actualizará la variable de ámbito después de que el usuario haya cambiado la entrada: "También se puede usar para lograr un enlace unidireccional "(https://docs.angularjs.org/api/ng/directive/ngValue) – JimmyBlu

1

Uso ng-value para el valor conjunto de cuadro de entrada después de hacer clic en un button: Establecer valor

"input type="email" class="form-control" id="email2" ng-value="myForm.email2" placeholder="Email" 

y

como:

$scope.myForm.email2 = $scope.names[0].success; 
-1

Algunas veces th ERE problemas con el funtion/características que no interactúan con el DOM

intenta cambiar el valor fuertemente y luego asignar el alcance $

document.getElementById ("textWidget") value = "<NewVal>"; 
$scope.widget.title = "<NewVal>"; 
Cuestiones relacionadas