2013-04-10 9 views
8

मेरे पास एक चुनिंदा बॉक्स का विकल्प बदलते समय एक ईवेंट ट्रिगर करने के लिए एंगुलर में स्थापित एक श्रोता है।कोणीय जेएस - एक फंक्शन के साथ एक ड्रॉपडाउन रीसेट करना

मेरे पास एक बटन भी है, जिसे मैं चयन बॉक्स को रिक्त स्थान पर "रीसेट" करना चाहता हूं (विकल्प 1 नहीं)।

यहाँ कुछ कोड है:

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> 

जावास्क्रिप्ट:

$scope.showAll = function($event){ 
    $scope.orderProp ="0"; 
} 
सलेक्ट बॉक्स पर

श्रोता समारोह:

$scope.$watch('orderProp', function (val) { 
     $scope.filteredMarkersProperty = $filter('filter')($scope.markersProperty, val); 
     $scope.zoomProperty = 11; 
     calcFocus(); 
    }); 

इस थोड़े से काम करता है, हालांकि केवल कभी कभी, और मुझे नहीं पता क्यों यह काम करता है (या नहीं) क्योंकि मुझे लगता है कि यह इसके बारे में जाने का गलत तरीका है। मैंने इसे jQuery .prop('selectedIndex',0); के साथ रीसेट करने का प्रयास किया, लेकिन जब यह इंडेक्स को रीसेट करता है तो यह सुनवाई समारोह को ट्रिगर नहीं करता है, इसलिए यह काम नहीं करेगा।

कोई विचार?

+0

यह स्पष्ट वास्तव में आप के लिए क्या काम नहीं करता नहीं है। क्या यह 'शोअल' फ़ंक्शन है, क्या यह $ वॉचर फ़ंक्शन है या यह फ़िल्टरिंग या 'कैल्कफ़ोकस' फ़ंक्शन है। क्या आप एक प्लंकर/jsfiddle सेट कर सकते हैं। – Stewie

उत्तर

11

पहले - चुनिंदा निर्देश में ngOptions पर एक नज़र डालें: http://docs.angularjs.org/api/ng.directive:select

<select ng-options="cats for cats in categories" ng-model="orderProps"></select> 

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

यह रूप में लंबे समय के रूप में काम करेंगे '0' श्रेणियों में से एक नहीं है। चयन-बॉक्स एक रिक्त दिखाएगा जब ऑर्डर का मान श्रेणियों में किसी भी मान से मेल नहीं खाता है।

आपका $ घड़ी फ़ंक्शन चुनिंदा बॉक्स पर श्रोता नहीं है, यह ऑर्डर देता है ऑर्डरप्रॉप और ऑर्डरप्रॉप चुनिंदा बॉक्स के बाहर बदल सकते हैं। यदि आप चयन बॉक्स पर श्रोता चाहते हैं तो आप एक ng-change = "myOnChangeFn()" जोड़ सकते हैं।

जोड़ा गया एक काम plunkr: http://plnkr.co/edit/fqWkJBYOXGaYsK9Fnedc?p=preview

+0

यह बहुत अच्छा है, विशेष रूप से $ घड़ी समारोह के बारे में स्पष्टीकरण के लिए, मुझे यह एहसास नहीं हुआ! – Jascination

+0

नियंत्रक से वही 'orderProps =' 0'' प्रभाव कैसे बनाया जाए? – MobileDream

संबंधित मुद्दे