Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.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/7/rust/4.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
Angularjs Angular JS-使用函数重置下拉列表_Angularjs - Fatal编程技术网

Angularjs Angular JS-使用函数重置下拉列表

Angularjs Angular JS-使用函数重置下拉列表,angularjs,Angularjs,我在Angular中设置了一个监听器,以便在选择框的选项更改时触发事件 我还有一个按钮,我想“重置”选择框为空白(不是选项1) 下面是一些代码: HTML: 选择框上的侦听器函数: $scope.$watch( 'orderProp', function ( val ) { $scope.filteredMarkersProperty = $filter('filter')($scope.markersProperty, val); $scope.zoomP

我在Angular中设置了一个监听器,以便在选择框的选项更改时触发事件

我还有一个按钮,我想“重置”选择框为空白(不是选项1)

下面是一些代码:

HTML:

选择框上的侦听器函数:

   $scope.$watch( 'orderProp', function ( val ) {
        $scope.filteredMarkersProperty = $filter('filter')($scope.markersProperty, val);
        $scope.zoomProperty = 11;
        calcFocus();
    });
这种方法是有效的,虽然只是有时,但我不知道为什么它有效(或无效),因为我认为这是一种错误的方法。我尝试用jQuery
.prop('selectedIndex',0)重置它,但虽然这会重置索引,但它根本不会触发侦听功能,因此无法工作


有什么想法吗?

首先-查看select指令中的N选项:


显示所有结果
只要“0”不是类别之一,这将起作用。当orderProps的值与类别中的任何值不匹配时,选择框将显示空白

$watch函数不是选择框上的侦听器,它监视orderProps,并且可以在选择框外更改orderProps。如果您想在选择框中添加一个侦听器,可以添加一个ng change=“myOnChangeFn()”


添加了一个工作提示:

不清楚什么不适合你。它是
showAll
功能,是$watcher功能,还是过滤功能或
calcFocus
功能。你能安装一个plunker/JSFIDLE吗?这太棒了,谢谢你,特别是关于$watch函数的解释,我没有意识到这一点!如何使控制器产生相同的
orderProps='0'
效果?
$scope.showAll = function($event){
    $scope.orderProp ="0";
}
   $scope.$watch( 'orderProp', function ( val ) {
        $scope.filteredMarkersProperty = $filter('filter')($scope.markersProperty, val);
        $scope.zoomProperty = 11;
        calcFocus();
    });
<select ng-options="cats for cats in categories" ng-model="orderProps"></select>

<button ng-click="orderProps='0'">Show all results</button>