我是Angular JS的新手,想要创建一个函数,如果按下Button按钮重置某些复选框,输入字段和选择字段。我尝试了以下方法:
我的JS文件:
Module.controller('FirstCtrl', function($scope){
$scope.checkbox= false;
$scope.textfield = "";
$scope.selectfield= "-1";
$scope.reset = function(){
$scope.checkbox= false;
$scope.textfield = "";
$scope.selectfield= "-1";
}
});
我的HTML-snippet:
<input type="checkbox" ng-model="checkbox">
<select ng-model="selectfield">
<option value="-1">undefined</option>
<option value="0">Level 0</option>
<option value="1">Level 1</option>
<option value="2">Level 2</option>
</select>
<input type="text" ng-model="textfield">
<button ng-click="reset()">Reset Filter</button>
但是运行它不会更新HTML中的值。我不懂为什么。任何想法?
编辑:
我还在我的代码中添加了一些警告框,并发现切换一个复选框例如确实有效但将其值设置为false确实没有效果。调用该函数并正确分配模块和控制器。这里是我的代码,用于切换正在工作的复选框:
$scope.toggle = function(){
$scope.checkbox = !$scope.checkbox;
}
为什么这样正常工作并正确更新值,但直接将其设置为false不起作用???
我发现如果单击它,我的复选框的值不会改变。显示了一个复选标记,但$ scope.checkbox = false。
的值答案 0 :(得分:3)
它充当魅力,没有变化 - 可能你在其他地方遇到了问题。
angular
.module('app', [])
.controller('FirstCtrl', function($scope) {
$scope.checkbox = false;
$scope.textfield = "";
$scope.selectfield = "undefined";
$scope.reset = function() {
$scope.checkbox = false;
$scope.textfield = "";
$scope.selectfield = "undefined";
}
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="app">
<div ng-controller="FirstCtrl">
<input type="checkbox" ng-model="checkbox">
<select ng-model="selectfield">
<option value="-1">undefined</option>
<option value="0">Level 0</option>
<option value="1">Level 1</option>
<option value="2">Level 2</option>
</select>
<input type="text" ng-model="textfield">
<button ng-click="reset()">Reset Filter</button>
</div>
</div>
&#13;