通过javascript设置ng-model的值

时间:2015-06-14 16:35:19

标签: javascript angularjs

使用带有angularJS的javascript时遇到问题。 我有一个id =“经度”的文本字段。

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

我通过javascript设置此字段的值。

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

但是当我处理Angular JS的控制器时无法获取该字段的值,除了我输入manual这个字段的值。我应该在javascript中写什么来设置这个字段的模型值?谢谢大家。

3 个答案:

答案 0 :(得分:0)

当你使用角度,然后设置/更新值时,使用角度处理事物的方式。

您想要的是根据某些事件更新输入字段。

我们假设它是按钮的点击事件。

所以,在html中可以说你有这样的东西

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

使用点击事件绑定更新您的控制器

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

我已经为您创建了一个plunker供您参考 - http://plnkr.co/edit/F1eXNVKsmYsn5TMQxxH6?p=preview

答案 1 :(得分:0)

只需在控制器中设置模型

即可为输入文本赋值
$scope.newwarehouse = {
    longtitude: 123
}

答案 2 :(得分:0)

您需要调用输入事件,因此angular知道值已更改。

请在此处查看答案,了解有关如何操作的更多信息。 How do I programmatically trigger an “input” event without jQuery?

我需要做这样的事情,因为我使用的是纯JS的库。