加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angularjs – 选择ng-option更改时获取值

发布时间:2020-12-17 09:09:14 所属栏目:安全 来源:网络整理
导读:我在我的.html页面一个下拉列表, 落下: select ng-model="blisterPackTemplateSelected" data-ng-options="blisterPackTemplate as blisterPackTemplate.name for blisterPackTemplate in blisterPackTemplates" option value=""Select Account/option/sel
我在我的.html页面一个下拉列表,

落下:

<select ng-model="blisterPackTemplateSelected" data-ng-options="blisterPackTemplate as blisterPackTemplate.name for blisterPackTemplate in blisterPackTemplates">
    <option value="">Select Account</option>
</select>

我想在用户选择一个值时执行一个操作。所以在我的控制器中:

控制器:

$scope.$watch('blisterPackTemplateSelected',function() {
    alert('changed');
    console.log($scope.blisterPackTemplateSelected);
});

但是改变下拉列表中的值不会触发代码:$ scope。$ watch(‘blisterPackTemplateSelected’,function()

因此,我尝试了另一个方法,在select标签上使用:ng_change =’changedValue()’

功能:

$scope.changedValue = function() {
   console.log($scope.blisterPackTemplateSelected);
}

但blisterPackTemplateSelected存储在子范围中。我读到父项无法访问子范围。

当下拉列表中选定的值发生更改时,执行某项操作的正确/最佳方法是什么?如果它的方法1,我做错了我的代码?

因为Artyom说你需要使用 ngChange和传递ngModel对象作为您的ngChange函数的参数

例:

<div ng-app="App" >
  <div ng-controller="ctrl">
    <select ng-model="blisterPackTemplateSelected" ng-change="changedValue(blisterPackTemplateSelected)" 
            data-ng-options="blisterPackTemplate as blisterPackTemplate.name for blisterPackTemplate in blisterPackTemplates">
      <option value="">Select Account</option>
    </select>
    {{itemList}}     
  </div>       
</div>

js:

function ctrl($scope) {
  $scope.itemList = [];
  $scope.blisterPackTemplates = [{id:1,name:"a"},{id:2,name:"b"},{id:3,name:"c"}];

  $scope.changedValue = function(item) {
    $scope.itemList.push(item.name);
  }       
}

Live示例:http://jsfiddle.net/choroshin/9w5XT/4/

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读