Tôi có một trình lắng nghe được thiết lập trong Angular để kích hoạt một sự kiện khi tùy chọn của hộp chọn thay đổi.Angular JS - Đặt lại một menu thả xuống có chức năng
Tôi cũng có nút, mà tôi muốn "đặt lại" hộp chọn để trống (tùy chọn KHÔNG 1).
Dưới đây là một số mã:
HTML:
<select id="dropdown" ng-model="orderProp" >
<option ng-repeat="cats in categories" value="{{cats}}">{{cats}}</option>
</select>
<button id="showHide" ng-click="showAll($event)" >Show all results</button>
Javascript:
$scope.showAll = function($event){
$scope.orderProp ="0";
}
Listener chức năng trên hộp chọn:
$scope.$watch('orderProp', function (val) {
$scope.filteredMarkersProperty = $filter('filter')($scope.markersProperty, val);
$scope.zoomProperty = 11;
calcFocus();
});
kinda này hoạt động, mặc dù chỉ đôi khi, và tôi không có ý tưởng lý do tại sao nó hoạt động (hoặc không) như tôi nghĩ rằng đó là cách sai lầm của việc đi về nó. Tôi đã thử đặt lại nó với jQuery .prop('selectedIndex',0);
, nhưng trong khi điều này đặt lại chỉ mục nó không kích hoạt chức năng nghe ở tất cả vì vậy điều này sẽ không hoạt động.
Bất kỳ ý tưởng nào?
Không rõ chính xác những gì không hiệu quả với bạn. Có phải hàm 'showAll' là hàm $ watcher hay hàm lọc hay hàm' calcFocus'. Bạn có thể thiết lập một plunker/jsfiddle. – Stewie