2016-09-05 11 views
0

次のコードを使用して、AngularJSのチェックボックスを使用してフォームフィールドをリセットしています。複数のフォームフィールドをAngularJSでリセットする

<input type="text" ng-model="data.test" ng-disabled="data.check"> 

<input type="checkbox" 
ng-change="data.test = data.check ? '' : data.test" 
ng-model="data.check" 
value="one"> 

複数のフォームフィールドをリセットするにはどうすればよいですか?

おかげで、

ジョン

+0

チェックボックスをオンにしたときにフォームフィールドをリセットしたいですか? –

+0

はい、上記のコードは1つのフィールドだけで動作します。 –

答えて

1

ストアのデータを使用して、フォームデータをリセットしたいたら、空の配列セットをデータ配列の形に直接割り当てることができます

+0

私はこのコードを試しても機能しませんでした。上記以外の追加が必要なことはありましたか? –

+0

私にとってはうまく働いています。私のプランナーを確認してください。https://plnkr.co/edit/wrV9vZMdFqtlLtWLWWA –

+0

これは機能します!私が間違って何をしていたのか分かりませんが、今はうまくいきます。 –

0

あなたは、フィールドの状態をリセットするため$setPristine()を使用することができます。

HTML:

<form name="myForm"> 

    <input type="text" ng-model="data.test" ng-disabled="data.check"> 
    <input type="text" ng-model="data.test2" ng-disabled="data.check"> 
    <input type="checkbox" 
    ng-change="reset()" 
    ng-model="data.check" 
    value="one"> 
</form> 

JS:別の変数

<input type="text" ng-model="data.test" ng-disabled="clear.check"> 
<input type="text" ng-model="data.test_another" ng-disabled="clear.check"> 

<input type="checkbox" ng-change="data = clear.check ? {} : data" 
ng-model="clear.check" value="one"> 

で別の配列とバリで

$scope.resetForm = function() { 
    $scope.data = { 
     "test": "", 
     "test2": "" 
    }; 
    // 'myForm' is the name of the <form> tag. 
    $scope.myForm.$setPristine(); 
} 
+0

私はあなたのコードを試してみました - 変数を見つけることができません:$スコープのエラー。 –

関連する問題