2013-05-24 12 views
5

मेरे पास एक टेबल है। मैं तालिका को फ़िल्टर करना चाहता हूं, इस पर निर्भर करता है कि एक चयन बॉक्स में कौन सा मूल्य चुना गया है। तालिका में तुलना बॉक्स में तुलना मूल्य {{pipe.pipe_id}} और {{dimension.pipe_id}} है। मान लीजिए इसके लिए एक आसान समाधान है? कोई उपाय?कोणीय जेएस, एक चयन बॉक्स के साथ फ़िल्टर तालिका

Pipe: 
    <select id="select01"> 
     <option ng-repeat="pipe in pipes">{{pipe.code}} - {{pipe.title_en}}</option> 
    </select> 


    <table class="table table-striped"> 
     <thead> 
      <tr> 
       <th>Pipe</th> 
       <th>Size</th> 
       <th>Inner diameter</th> 
       <th>Outer diameter</th> 
      </tr> 
     </thead> 
     <tbody> 
      <tr ng-repeat="dimension in dimensions" > 
       <td>{{dimension.pipe_id}}</td> 
       <td>{{dimension.nominalsize}}</td> 
       <td>{{dimension.innerdiameter}}</td> 
       <td>{{dimension.outerdiameter}}</td> 
      </tr> 
     </tbody> 
    </table> 
+0

एक चयन बॉक्स के साथ, एनजी-विकल्प का उपयोग करना सबसे अच्छा है। https://docs.angularjs.org/api/ng/directive/select – Jared

उत्तर

8

मैं ng-filter का उपयोग कर की सिफारिश करेंगे।

यह लिंक एक टू-डू सूची का उपयोग करके एक साधारण उदाहरण है। jsfiddle using ng-filter

आप बाध्य करने के लिए जो कुछ भी इनपुट आप सरणी में सभी क्षेत्रों के लिए ng-model="varname"

एनजी फिल्टर चूक के साथ प्रयोग कर रहे हैं की आवश्यकता होगी। इसे आपके नियंत्रक में एक कॉलम या एक फ़ंक्शन पर इंगित किया जा सकता है।

खोज फ़ील्ड

<select ng-model="searchparam"> 
    <option value="1">One</option> 
    <option value="2">Two</option> 
</select> 

एकल स्तंभ

<select ng-model="searchparam.columnOne"> 
    <option value="1">One</option> 
    <option value="2">Two</option> 
</select> 
खोज

बार-बार धारा
(फिल्टर मॉडल ही रहता है, भले ही आपका कोई विशेष निर्दिष्ट करता है कॉलम)

<tr ng-repeat="dimension in dimensions | filter: searchparam"> 
    <td>{{dimension.columnOne}}</td> 
    <td>{{dimension.columnTwo}}</td> 
</tr> 
संबंधित मुद्दे