Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在angularjs中将下拉列表重置为默认值_Javascript_Angularjs - Fatal编程技术网

Javascript 在angularjs中将下拉列表重置为默认值

Javascript 在angularjs中将下拉列表重置为默认值,javascript,angularjs,Javascript,Angularjs,我有一组带有默认值的下拉列表,如“选择团队…”。这些值不是与ng model绑定的模型的一部分,因为它们在该上下文中没有意义 问题是,在用户选择了他们的值之后,我想清除表单。我尝试将绑定模型设置为空对象和null,但在这两种情况下,下拉列表都不会恢复为“选择…”默认值 我的下拉列表如下所示: <select class="form-control input-sm" id="ddlStakeholderTeam" ng-change="updateSelectedTeam(

我有一组带有默认值的下拉列表,如“选择团队…”。这些值不是与
ng model
绑定的模型的一部分,因为它们在该上下文中没有意义

问题是,在用户选择了他们的值之后,我想清除表单。我尝试将绑定模型设置为空对象和null,但在这两种情况下,下拉列表都不会恢复为“选择…”默认值

我的下拉列表如下所示:

<select class="form-control input-sm" id="ddlStakeholderTeam"
        ng-change="updateSelectedTeam(selectedTeam);"
        ng-model="selectedTeam"
        ng-options="t as t.TeamName for t in (teamList | filter: filterTeams) track by t.TeamId">
    <option value="" selected disabled hidden>Select Team...</option>
</select>
$scope.cancelStakeholder = function () {
    $scope.showStakeholderFields = false;
    $scope.selectedDepartment = {};
    $scope.selectedTeam = {}; //also tried setting these to null
    $scope.selectedRep = {};
}
唯一有效的方法是排成一行,如:

document.getElementById('ddlStakeholderTeam').selectedIndex = 0;

看起来像是个黑客。这是唯一有效的方法吗?

绑定对象引用而不是直接变量。例如:ng model=“obj.selectedTeam”@rupampatel2006
selectedTeam
附加到
$scope
selectedTeam
是一个对象。你是说我需要创建一个虚拟对象并将其附加到$scope,就像
$scope.dummy.selectedTeam
?试试我的朋友。selectedTeam成为属性而不是对象$范围是角度的特殊对象。当您重新分配属性时,javascript会创建新的引用,因此它不会被清除。插入虚拟对象是有效的,但我认为这并不能改善情况。GeelEntMyBID是一组角度代码中的过时现象,但其意图是明确的。我认为,拥有一个虚拟对象既会让人觉得奇怪,又不会让意图变得明显。这是已知的角虫吗?不是。它是简单的基本javascript。您试图绑定变量并重置它的值,但这是行不通的。绑定对象引用而不是直接变量。例如:ng model=“obj.selectedTeam”@rupampatel2006
selectedTeam
附加到
$scope
selectedTeam
是一个对象。你是说我需要创建一个虚拟对象并将其附加到$scope,就像
$scope.dummy.selectedTeam
?试试我的朋友。selectedTeam成为属性而不是对象$范围是角度的特殊对象。当您重新分配属性时,javascript会创建新的引用,因此它不会被清除。插入虚拟对象是有效的,但我认为这并不能改善情况。GeelEntMyBID是一组角度代码中的过时现象,但其意图是明确的。我认为,拥有一个虚拟对象既会让人觉得奇怪,又不会让意图变得明显。这是已知的角虫吗?不是。它是简单的基本javascript。您试图绑定变量并重置它的值,但这是行不通的。