有几个输入字段设置为默认值,如果字段中有任何输入,希望能够使用按钮将它们重置为默认值。
<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 :(得分: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 = "";
};