2016-10-11 72 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> 

三個輸入值被設置在我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

爲什麼ü在rootScope添加的東西? –

+0

自啓動以來一直使用,獲得與$ scope相同的結果。 – Znowman

+0

你真的需要另一個控制器才能重置嗎?如果一切都在一個控制器中,對你來說可以嗎?並清楚你只是想將值設置爲初始值並點擊按鈕ryt? –

回答

2

變化,

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

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

編輯: 不建議使用$ rootScope,也與你的代碼是不重置任何新的v alue,只有默認值再次分配。將其更改爲這樣的事情,

$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

相關問題