Я использую следующий код для сброса поля формы, используя флажок с 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">
Как я могу использовать этот код для сброса нескольких полей формы?
Благодаря,
Джон
Храните данные в отдельном массиве и валидаторе в другой переменной
<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">
Как только вы захотите сбросить данные формы, вы можете напрямую назначить пустой массив, чтобы сформировать массив данных
Вы можете использовать $ 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:
$scope.resetForm = function() {
$scope.data = {
"test": "",
"test2": ""
};
// 'myForm' is the name of the <form> tag.
$scope.myForm.$setPristine();
}