2015-06-14 66 views
0

我在使用javascript和angularJS時遇到問題。 我有一個id =「longitude」的文本字段。由ng-model設置的值由javascript

<input type="text" data-ng-model="newwarehouse.longtitude" id="longitude"/> 

我用javascript設置了這個字段的值。

var longitudeValue = document.getElementById('longitude'); 
longitudeValue.value = event.latLng.lng(); 

但是當我處理控制器的Angular JS不能得到這個字段的值,除了我手動鍵入這個字段的值。我應該用javascript寫什麼來設置這個字段的模型值?感謝大家。

+0

如果您正在使用角度,然後通過控制器設置值。你爲什麼用javascript玩它? – nikhil

+0

看起來像你是一個初學者。如果你在深入代碼之前學習基礎知識,這將是一件好事。 –

+0

有時候您需要與其他不適合使用角度的庫一起工作。如果您在不觸發輸入事件的情況下設置該值,則角度無法確定該值是否已更改。請參閱下面的答案。 @GopinathShiva - Phat可能畢竟不是初學者。 – DevEarley

回答

0

當你使用角度,然後設置/更新值,使用角度的方式處理事情。

你想要的是根據某些事件更新輸入字段。

讓我們說這是一個按鈕的點擊事件。

所以,在HTML可以說你有這樣的事情

<a href="javascript:void(0);" ng-click="clickme()">Click me</a> 

和更新您的控制器,與click事件結合

$scope.clickme = function() { 
    $scope.newwarehouse = { 
     longtitude : 'longitute' 
    }; 
    }; 

我創建了一個plunker爲您的參考 - http://plnkr.co/edit/F1eXNVKsmYsn5TMQxxH6?p=preview

0

僅通過在控制器中設置模型將值分配給輸入文本

$scope.newwarehouse = { 
    longtitude: 123 
}