angularjs将输入字段重置为默认值

时间:2016-10-11 15:27:39

标签: javascript 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 = "";
   };

  }]);

这里一直在寻找许多类似的线程,尝试了很多可用的解决方案,但似乎没有任何效果。

1 个答案:

答案 0 :(得分:2)

更改,

发件人

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

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

修改 建议不要使用$ rootScope,也不要使用您的代码重置任何新值,只重新分配默认值。把它改成这样的东西,

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

DEMO