2016-11-17 4 views
0

私の要件:クリックイベントですべてのモデルをリセットするにはどうすればよいですか?

例をクリックし、ボタンの上に私の選択ボックスをリセットする必要があります -

私は3つの選択ボックスを持っています。選択ボックスをクリックすると、別のデータが表示され、その結果が公開されます。親の選択ボックスだけをリセットするRemoveボタンを追加しました。今、私が知りたいのは、削除ボタンをクリックして3つの選択ボックスをすべてリセットする方法です。

サンプルコードは下の通りです: - :私はすべてのmodelIDデータがゼロにリセット取得removeObj機能のクリックにしたい

scope.removeObj = function(modelID, subModelID, selectBoxPos) { 
    modelID = 0; 
    subModelID = 0; 
}) 

-

<button ng-click="removeObj(key,model1,0)">Remove</span></button> 

コントローラのコードの下の通りです。

助けてください。

+0

'modelID'と' subModelID'は何ですか?それは –

+0

と宣言されています。あなたの選択ボックスのコードを表示すると、より明確になります –

答えて

0

私はあなたが任意のパラメータを必要としない理解したよう..だけ意味のある名前を作成resetModels

AngularJSコントローラー:

$scope.resetModels = function() { 
    // Set default value to your models... 
    $scope.modelID = 0; 
    $scope.subModelID = 0; 
}); 

HTML:

<button ng-click="resetScpeModels()">Remove</span></button> 
+0

助けてくれてありがとう。私は最初のアイテムを削除するときに、すべてのフォームをリセットする必要があります。つまり、ワンクリックですべての選択ボックスをリセットします。 modelIDとsubModelIDは、現在のレコードには現在のレコードの値のみを持つパラメータです。 – Andy

0

リセットしたい場合はすべての値。このように使用してください。

 $scope.model = {}; 
    $scope.model.modelID = 0; 
    $scope.model.subModelID = 0; 

    <input ng-model="model.modelID"/> 

リセットする場合は、このようにしてください。 NG-クリック機能の内部で再び

$scope.model = {}; 

を呼び出します。

+0

クリックするだけで、すべてのフォームデータが角度でリセットされます。私はJavaScript/Jqueryのようなものをたくさん試しましたが、とすべて – Andy

+0

これはあなたの問題を解決します。それのためにフィドルを作成するか、いくつかのライブサンプルを表示してください。 – karman

0

formに名前を付けると、自動的に$scopeに追加されます。

私たちは、$scope.formName$setPristine()メソッドを持っています。あなたのフォームを再帰的に処理する必要があります。

あなたは$scope.formName.$setPristine();でフォームをリセットすることができますが、あなたの入力にモデルオブジェクトを結合している場合、あなたは、あまりにすなわち、それらをクリアするの世話をする必要があります。

$scope.formModel={};またはangular.copy({}, formModel);

ワーキングデモ:

var app = angular.module('myApp', []); 
 

 
app.controller('myController', function($scope) { 
 
    $scope.Reset = function(formModel) { 
 
    angular.copy({}, formModel); 
 
    $scope.formModel = {}; 
 
    $scope.submitForm.$setPristine(); 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<div ng-app="myApp"> 
 
    <form name="submitForm" ng-controller="myController"> 
 
     <label for="first_field">First Model</label> 
 
     <input ng-model="formModel.firstModel" /> 
 
     <br /> 
 
     <label for="second_field">Second Model</label> 
 
     <input ng-model="formModel.secondModel" /> 
 
     <br /> 
 
     <button type="button" ng-click="Reset(formModel)">Reset</button> 
 
    </form> 
 
</div>

関連する問題