我是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
答案 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 = "";
}
};
}
]);