チェックボックスをデフォルト値としてチェックします。anglejsでデフォルトでチェックボックスをチェックする方法
HTML:
<div class="form-group col-sm-6" ng-class="{ 'has-error': pForm.caddress.$dirty && pForm.caddress.$error.required }">
<label class="control-label l_font" for="address">Current Address*</label>
<textarea class="form-control" type="text" name="caddress" placeholder="Current address" ng-model="caddress" ng-disabled ="!pEditMode" ng-required = "true" >
</textarea>
<span ng-show="pForm.caddress.$dirty && pForm.caddress.$error.required" class="help-block">Current Address is required</span>
</div>
<div class="form-group col-sm-6" ng-class="{ 'has-error': pForm.paddress.$dirty && pForm.paddress.$error.required }">
<label class="control-label l_font" for="address">Permanent Address*</label>
<input type="checkbox" ng-model="sameAddrres" ng-checked="copyAddress()" ng-disabled ="!pEditMode" />
<i class="inside">Select if Permanent address is same as Current address</i>
<style>
.inside
{
font-size: 12px;
}
</style>
<textarea class="form-control" type="text" name="paddress" placeholder="Permanent address"
ng-model="paddress" ng-disabled ="!pEditMode || sameAddrres" ng-required = "true" ></textarea>
<span ng-show="pForm.paddress.$dirty && pForm.paddress.$error.required" class="help-block">Permanent Address is required</span>
</div>
私は、チェックボックスがチェックされている場合は永久的なアドレス値に現在のアドレス値をコピーする機能を使用しています。
コントローラー:
$scope.copyAddress = function(){
if($scope.sameAddrres == true){
$scope.paddress = $scope.caddress;
}
};
しかし、私は条件を使用しましたif($ scope.sameAddrres == true) –
チェックボックスをオンにすると、現在のアドレスフィールドの値が永続アドレスフィールドにコピーされます。私は、バックエンドにすべての値を保存していて、ページが更新されたときに応答を得るか、再度ログインします。しかし、ページを更新すると、チェックボックスが消えてフィールドが有効になります。私が間違っているところで助けてくれますか? –
リフレッシュは古い値を破棄し、新しいコントローラインスタンスを作成しています。したがって、以前の値は失われます。コントローラーでページをレンダリングした後、両方のフィールドの値を確認し、等しい場合は、入力チェックボックスのモーダルをtrueに設定します。これはデフォルトではfalseです。 – Prashanth