2012-10-05 24 views
9

मैं AngularJS के लिए बहुत नया हूं और आज फ़िल्टर के साथ खेल रहा था। मैं चुनिंदा मेनू से मानदंडों से मेल खाने वाली पंक्तियों को प्रदर्शित करने के लिए filter फ़िल्टर को लागू करने में सक्षम था। हालांकि, मैं बटन पर "स्पष्ट फ़िल्टर" फ़ंक्शन जोड़ने में असमर्थ था। जब बटन क्लिक किया जाता है तो मैं फ़िल्टर को रीसेट कैसे कर सकता हूं?फ़िल्टर को साफ़ करने के लिए कैसे करें - AngularJS

निम्नलिखित Plunker में, आप कोड मैं प्रयास में उपयोग कर रहा था देख सकते हैं इस लक्ष्य को हासिल: Plunker - AngularJS Sample

उत्तर

23

आप ng-click का उपयोग कर सकते क्लिक हैंडलर बाध्य करने के लिए एक दायरे के भीतर query चर स्पष्ट करने के लिए।

http://plnkr.co/edit/p1DnoV

+0

धन्यवाद। वह वास्तव में सहायक था। – Sparda

+1

अगर मैं केवल बेडरूम के फ़िल्टर को साफ़ करना चाहता हूं, तो मैंने '$ scope.query.bedroom = {}' कोशिश नहीं की है यह – naCheex

26

ng-click डायरेक्टिव हर उस falsey बल्कि नहीं- false जावास्क्रिप्ट मूल्य के लिए फिल्टर मॉडल, जैसे '', undefined, null या {} स्थापित करने के लिए इस्तेमाल किया जा सकता।

निम्नलिखित कोड में, div पर क्लिक करने से customFilter मॉडल रीसेट हो जाएगा।

<input type="text" ng-model="customFilter" /> 
<div ng-click="customFilter = undefined"> 
    Clear Filter 
</div> 

Here's a link to an updated fork of your Plunker project using Angular v1.4.1

+2

काम नहीं कर रहा है नियंत्रक को एक क्लिक फ़ंक्शन जोड़ने की आवश्यकता के बिना एक बहुत तेज़ और साफ विधि। बहुत आसान। – Neel

+0

उस टिप ने मेरी मदद की। हालांकि मुझे इनपुट एनजी-मॉडल को साफ़ करने में मेरी समस्या का समाधान नहीं हुआ, मुझे फिल्टर ऑब्जेक्ट को साफ़ करने की आवश्यकता है जैसे । तो <बटन ng-click = "search = undefined"> साफ़ करें – JoeKir

+0

@ जोकिर मैंने एक '<इनपुट प्रकार = "टेक्स्ट" ng-model = "foo"> उदाहरण को प्लंकर में जोड़ा है जिसमें मैंने एक लिंक प्रदान किया है मेरा जवाब। –

0

यह उदाहरण आपको फिल्टर अगर आप एनजी-टेबल फिल्टर का उपयोग कर रहे हैं स्पष्ट करने में मदद मिलेगी

<table ng-table="tableParams" show-filter="true" class="table table-striped table-bordered table-condensed table-hover cf"> 
    <tbody> 
     <tr ng-repeat="tableData in $data"> 
      <td data-title="'Name'" filter="{Name:'text'}" sortable="'{Name}'" /> 
     </tr> 
    </tbody> 
</table> 

आप से फिल्टर साफ कर सकते हैं

नीचे के रूप में एनजी-क्लिक करें
$scope.tableParams.parameters({ filter: {}, sorting: {}, page: 1 }); 
संबंधित मुद्दे