我对AngularJS有以下问题.我有一个选择与ngOptions创建的选项.我想将所选选项设置回默认选项.我试图删除模型变量,例如:
if(angular.isDefined($scope.first)){
delete $scope.first;
}
Run Code Online (Sandbox Code Playgroud)
但这不起作用.这是我的HTML.
<div ng-app="app">
<div ng-controller="testCtrl">
<select data-ng-model="first" data-ng-options="item.name for item in selectContent" required="required">
<option value="" style="display: none;">-- select --</option>
</select>
{{first.value}}
<hr/>
<input type="button" value="reset dropdown" data-ng-click="resetDropDown()"/>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
这是我的JavaScript代码:
angular.module('app', []).controller('testCtrl', function ($scope) {
$scope.selectContent = [
{
name: "first",
value: "1"
},
{
name: "second",
value: "2"
}
];
$scope.resetDropDown = function() {
if(angular.isDefined($scope.first)){
delete $scope.first;
}
}
});
Run Code Online (Sandbox Code Playgroud)
这是工作jsfiddle:
http://jsfiddle.net/zono/rzJ2w/
我怎么能解决这个问题?
最好的祝福.
您的重置按钮位于包含控制器的div之外.这意味着您尝试使用它的上下文中不存在您的reset-function.
改成:
<div ng-app="app">
<div ng-controller="testCtrl">
<select data-ng-model="first" data-ng-options="item.name for item in selectContent" required="required">
<option value="" style="display: none;">-- select --</option>
</select>
{{first.value}}
<hr/>
<input type="button" value="reset dropdown" data-ng-click="resetDropDown()"/>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
使用调试器确保您尝试修复的代码实际上正在执行时,总是一个好主意.
| 归档时间: |
|
| 查看次数: |
50892 次 |
| 最近记录: |