2016-03-23 14 views
1

HTML-DateiWie Wert eines Feldes von ng-Modell in jQuery

<input id="myName" ng-model="myName" val="{{myName}}"> 

Kaffee Script

$http.get('/api/name').then(
    (resp) -> 
     $scope.myName = resp.data.name 
     $('#myName').val() # this is still ""  
    , 
    (errorResp) -> 
     # code 
) 

Datei aktualisiert lesen Wie Sie aus dem Code sehen kann über I‘ Ich versuche, den Wert von meiner API zu erhalten und ihn dann dem Bereich hinzuzufügen. Ich habe ein Ereignis, das in jQuery bindet, dass jedes Mal, wenn sich der Eingabewert ändert, der Name auf eine Zeichenfläche gezeichnet wird. Wenn ich also resp.data.name an $ scope.myName anbinde, gibt die .val() immer noch "" zurück, als hätte sich die Eingabe nicht geändert.

+1

warum brauchen '$ ('# myName') einreichen. Val()'? Sie können nach '$ scope.myName' suchen. –

+0

@shaishabroy, weil ich ein anderes Skript mit einem Ereignis-Listener habe und es wiederverwenden möchte –

Antwort

0

Keine Notwendigkeit, val="{{myName}}" im Eingabeelement zu verwenden, verwenden Sie einfach ng-model="myName", so dass Sie JQuery nicht verwenden müssen, um Werte festzulegen oder zu erhalten. Sie können versuchen, $timeout in Ihrer Antwort zu verwenden, wenn Sie Daten aus der Antwort abrufen, die Eingabe jedoch nicht geändert wurde.

<input type="text" id="myName" ng-model="myName"> 

Kaffee Script

$http.get('/api/name').then(
    (resp) -> 
     $scope.myName = resp.data.name  
    , 
    (errorResp) -> 
     # code 
) 
Verwandte Themen