如何捕捉Angular中的模型值,该值附加了单击

How to catch model value in Angular which appended with click?

本文关键字:单击 Angular 模型 何捕捉      更新时间:2023-09-26

我有一个简单的问题。但我想不通。

我正试图获取我的模型(文本框)的值,我用点击来附加它。如果我手动键入,我可以捕获值。但除此之外。。。

这是我的代码

谢谢!

将您的逻辑更改为以下

 li.on('click', function(){
   var val = $(this).text();
   $scope.carData.year=val;
   input.val(val);
   $scope.$digest();
});

基本上,在对点击和其他事件执行操作时,有时我们必须消化范围。编辑了jsbin请看一下。

AngularJS的方法是:

在视图中你应该有:

<ul ng-repeat="element in list">
  <li ng-click="append(element)" >{{element}}</li>
</ul>

在控制器中:

$scope.list = [2010, 2011, 2012, 2013, 2014, 2015];
$scope.append = function (elementToAdd){
    $scope.carData.year = elementToAdd;
};

这是如何在AngularJS中使用下拉选择。有关更多信息,请参阅selectngOptions 的Angular文档

模板:

<div ng-controller="Controller">
    <input type="text" ng-model="carData.year" placeholder="enter car year." />
    <br/>
    <br/> 
    <span class="nullable">
         <select ng-options="item for item in years" ng-model="carData.year">
         <option value="">-- choose year --</option>
    </select>
    </span>
    <pre>{{carData}}</pre>
</div>

控制器:

var myApp = angular.module('App', []);
myApp.controller('Controller', function ($scope) {
    $scope.years = [2010, 2011, 2012, 2013, 2014, 2015];
    $scope.carData = {};
});