在AngularJS脚本中获取HTML元素数据

时间:2015-11-10 11:01:57

标签: javascript html angularjs element

我是AngularJS的新手并尝试设计一个包含两个文本字段和两个单选按钮的页面。

第一个文本字段用于当前地址,后面是单选按钮(一个用于是,第二个用于否),最后一个组件是永久地址文本字段。首先,用户将在当前地址文本字段中输入值,之后如果用户选择是单选按钮,则应将数据从当前地址复制到永久地址文本字段,如果用户选择否则则不执行任何操作。以下是我编写的示例代码:

*<input type="text" name="cAddress" ng-model="cAddress" required/>
<input type="radio" name="opt" ng-click="copyAddress(true)" />
<input type="radio" name="opt" ng-click="copyAddress(false)" />
<input type="text" name="pAddress" ng-model="pAddress" required/>*

以下是控制器内的脚本代码:

$scope.copyAddress = function(flag) {
   if(flag) {
      $scope.pAddress = $scope.cAddress;
   }
};

当我尝试在控制台中打印$scope.cAddress$scope.pAddress值时,它显示为undefined。即使$scope没有cAddress和pAddress。

因此,主要问题是我没有在AngularJS控制器中获取元素数据

请找到plunker网址: http://plnkr.co/edit/Ub2VEn01HxwDpnCg4tLi?p=preview 单击下一步以导航到第二个选项卡,在那里您将找到是和否单选按钮来复制数据。

我已经缩小了代码,请查看它。要了解该流程,您可以阅读README文件。 http://plnkr.co/edit/TzJsZIRxAyTuFdCXLFFV?p=preview

2 个答案:

答案 0 :(得分:1)

尝试使用其他范围对象。

也就是说,创建一个范围对象并为每个输入添加属性,例如

setSelectedTabIndicatorColor()

现在您应该使用此变量作为输入。

build.gradle

试试这个。它可能对你有帮助。

答案 1 :(得分:0)

Html代码:

<body ng-controller='Maincontroller'>
  <input type="text" name="cAddress" ng-model="cAddress" />
  <input type="radio" name="opt" ng-click="copyAddress(true)" />
  <input type="radio" name="opt" ng-click="copyAddress(false)" />
  <input type="text" name="pAddress" ng-model="pAddress" />
</body>

控制器代码:

 var app = angular.module('main', []);
app.controller('Maincontroller', ["$scope",
  function($scope) {

    $scope.copyAddress = function(flag) {
      if (flag) {
        $scope.address1 = $scope.address;
      } else {
        $scope.address1 = "";
      }
    };
  }
]);