2016-10-11 10 views
0

デフォルト値に設定されたいくつかの入力フィールドを持ち、フィールドに入力があればボタンをデフォルト値に戻したいと思っています。angularjsデフォルト値に入力フィールドをリセット

<div class=form name="searchForm"> 
    <li><ul><label>Continent</label></ul> 
      <ul><select data-ng-model="ContinentValue"> 
        <option value="Asia">Asia</option> 
        <option value="Europe">Europe</option> 
        <option value="South America">South America</option> 
        <option value="North America">North America</option> 
        <option value="Africa">Africa</option> 
        <option value="Oceania">Ociania</option> 
        </select> 
      </ul> 
    <li> 
     <ul><label>Population Greater than</label></ul> 
     <ul><input type="number" data-ng-model="popValueMin"></ul> 
     <ul><label>Lesser than</label></ul> 
     <ul><input type="number" data-ng-model="popValueMax"></ul> 
    </li> 


<li> 
    <ul><label>Government Form</label></ul> 
    <ul><input type="text" data-ng-model="govForm"></input></ul> 
</li> 
<li> 
<ul><label>Country name</label></ul> 
    <ul><input type="text" data-ng-model="countName"></input><ul> 
    </li> 
<div data-ng-controller="resetCtrl"> 
     <button data-ng-click="resetModel()">Reset</button> 
</div> 
</div> 

3つの入力値は、私のallControllerにデフォルトに設定されています

$rootScope.popValueMax = parseInt("146934000"); 
     $rootScope.ContinentValue = "Europe"; 
     $rootScope.popValueMin = parseInt("0"); 

をリセットするために別のコントローラを使用した:

controllers.controller("resetCtrl", ["$rootScope", function($rootScope) { 

    $rootScope.resetModel = function(){ 
    $rootScope.popValueMax = parseInt("146934000"); 
    $rootScope.ContinentValue = "Europe"; 
    $rootScope.popValueMin = parseInt("0"); 
    $rootScope.govForm = ""; 
    $rootScope.countName = ""; 
    }; 

    }]); 

はここに多くの類似のスレッドで周りを見て、の多くを試されて 利用可能なソリューションはありませんが、何も動作していないようです。

+0

、このような何かにそれを変更しますか? –

+0

開始時から使用していたので、$ scopeで同じ結果が得られました。 – Znowman

+0

本当にリセットするには別のコントローラが必要ですか?すべてが1つのコントローラに入っていれば、それはあなたにとって大丈夫ですか?クリアするには、値を初期値に設定してボタンをクリックしたいだけですか? –

答えて

2

変更、に

<button data-ng-click="resetCtrl.resetModel()">Reset</button> 

から

<button data-ng-click="resetModel()">Reset</button> 

EDIT: また、あなたのコードをあなたは、$ rootScopeを使用することは推奨されません新しいvをリセットしないデフォルト値のみが再度割り当てられます。 uはrootScopeで物事を追加するのはなぜ

$scope.resetModel = function() { 
    $scope.popValueMax = parseInt("146934000"); 
    $scope.ContinentValue = "Europe"; 
    $scope.popValueMin = parseInt("0"); 
    $scope.govForm = ""; 
    $scope.countName = ""; 
    }; 

DEMO

+0

これを削除するのを忘れました。「resetModel()」として動作しません。 – Znowman

+0

コンソールにエラーがあるかどうかを確認します。 – Sajeetharan

+0

コンソールエラーはまったくありません。 – Znowman

関連する問題