AngularJS 1.5-与上述地址相同
我想实现一个“同上”的邮寄地址和永久地址。但是我在复选框上打勾,它并不表示邮寄地址和永久地址是相同的。帮忙 控制器AngularJS 1.5-与上述地址相同,angularjs,Angularjs,我想实现一个“同上”的邮寄地址和永久地址。但是我在复选框上打勾,它并不表示邮寄地址和永久地址是相同的。帮忙 控制器 $scope.candidateData.MailingAddress = {}; $scope.$watch('mailingSameAsPermanent', function (value) { if (value) { $scope.candidateData.Address = $scope.candidateData.MailingAddres
$scope.candidateData.MailingAddress = {};
$scope.$watch('mailingSameAsPermanent', function (value) {
if (value) {
$scope.candidateData.Address = $scope.candidateData.MailingAddress;
} else {
$scope.candidateData.Address = angular.copy($scope.candidateData.Address);
}
部分HTML:
<h3>Permanent Address</h3>
<md-input-container class="md-block">
<label>Address</label>
<input name="add" ng-model="candidateData.Address.Address1">
<div ng-messages="CandidateDetails.add.$error">
<div ng-message="required">
Please enter your address
</div>
</div>
</md-input-container>
<md-input-container md-no-float class="md-block">
<input ng-model="candidateData.Address.Address2" placeholder="Address 2">
</md-input-container>
<div layout-gt-sm="row">
<md-input-container class="md-block" flex-gt-sm>
<label>Country</label>
<md-select ng-model="candidateData.Address.Country">
<md-option> <!--ng-repeat="country in countries" value="{{country.Country}}"-->>
{{candidateData.Address.Country}}
</md-option>
</md-select>
</md-input-container>
<md-input-container class="md-block" flex-gt-sm>
<label>Zip Code</label>
<input name="postalCode" ng-model="candidateData.Address.Zip" placeholder="12345"
required ng-pattern="/^[0-9]{5}$/">
<div ng-messages="CandidateDetails.postalCode.$error" role="alert" multiple>
<div ng-message="required" class="my-message">You must supply a zip code.</div>
<div ng-message="pattern" class="my-message">
That doesn't look like a valid postal
code.
</div>
</div>
</div>
<h3>Mailing Address</h3>
<md-checkbox ng-model="mailingSameAsPermanent" >
Tick if your mailing address is the same as your permanent address
</md-checkbox>
<div>
<md-input-container class="md-block">
<label>Address</label>
<input name="add" ng-model="candidateData.MailingAddress.Address1" ng-disabled="mailingSameAsPermanent">
<div ng-messages="CandidateDetails.add.$error">
<div ng-message="required">
Please enter your address
</div>
</div>
</md-input-container>
<md-input-container md-no-float class="md-block">
<input ng-model="candidateData.MailingAddress.Address2" placeholder="Address 2" ng-disabled="mailingSameAsPermanent">
</md-input-container>
<div layout-gt-sm="row">
<md-input-container class="md-block" flex-gt-sm>
<label>Country</label>
<md-select ng-model="candidateData.Address.Country">
<md-option>
<!--ng-repeat="country in countries" value="{{country.Country}}"-->>
{{candidateData.Address.Country}}
</md-option>
</md-select>
</md-input-container>
<md-input-container class="md-block" flex-gt-sm>
<label>Zip Code</label>
<input name="postalCode" ng-model="candidateData.Address.Zip" placeholder="12345"
required ng-pattern="/^[0-9]{5}$/">
<div ng-messages="CandidateDetails.postalCode.$error" role="alert" multiple>
<div ng-message="required" class="my-message">You must supply a zip code.</div>
<div ng-message="pattern" class="my-message">
That doesn't look like a valid postal
code.
</div>
</div>
</div>
</div>
永久地址
地址
请输入您的地址
国家
>
{{candidateData.Address.Country}
邮政编码
您必须提供邮政编码。
这看起来不像是一个有效的邮政编码
代码。
通讯地址
如果您的邮寄地址与永久地址相同,请勾选
地址
请输入您的地址
国家
>
{{candidateData.Address.Country}
邮政编码
您必须提供邮政编码。
这看起来不像是一个有效的邮政编码
代码。
我以您想要的方式实现了功能,但方法不同
您可以查看下面的链接以了解
您需要在代码中实现这一点。试试这个
<input type="checkbox" ng-model="sameas" ng-click="!sameas?permanentAddress=presentAddress:permanentAddress={}" />
$scope.candidateData.Address=angular.copy($scope.candidateData.Address)代码>将其自身的值复制到自身,$scope.candidateData.Address将包含要复制到$scope.candidateData.MailingAddress的值。您正在进行反向赋值。所以我应该将candidateData.MailingAddress与candidateData.Address进行反向赋值?我试过了,但没用。你能用棱角材料做吗?没用。角度版本是1.0.3,而我使用的是1.5
<input type="checkbox" ng-model="sameas" ng-click="!sameas?permanentAddress=presentAddress:permanentAddress={}" />