2017-05-30 10 views
0

現在、私はテキストフィールドを持っています。このフィールドでは、アコーディオンのヘッダーのコンテンツとコンテンツをフィルタリングできます。私は何かを打ち込んでいる時にそれを望みます、そして偶然があるならば、アコーデオンは拡大しますが、アコーデオンを閉じなければならないという偶然があります。どうすればいい?オープンアコーディオン。 Angular.js

https://jsfiddle.net/3e9arqqe/

<input type="text" placeholder="Search" ng-model="search.pregunta"> 
    <uib-accordion close-others="true"> 
    <div ng-repeat="faq in faqs | filter: search.pregunta"> 
     <div class="col-sm-11" > 
      <div uib-accordion-group class="panel-default" is-open="faq.open"> 
       <uib-accordion-heading > 
        <span ng-click="ignoreClick($event);" ><a href='' click-to-edit item="faq" ng-model='faq.pregunta' typeinput='textarea' >{{faq.pregunta}}</a></span> <i class="pull-right glyphicon" ng-class="{'glyphicon-chevron-down': faq.open, 'glyphicon-chevron-right': !faq.open}"></i> 
       </uib-accordion-heading> 
       <span click-to-edit item="faq" ng-model="faq.respuesta" >{{faq.respuesta}}</span> 
      </div> 
     </div> 
     </div> 
    </ui/div> 
     </div> 
    </uib-accordion> 
+0

崩壊し、除外されていませ現れるように一致せず、あなたがアコーディオンたいですか? – CodeWarrior

+0

@ CodeWarrior彼らが再び現れたら、彼らは閉じたように見えるはずです – velez11

答えて

0

あなたが望むすべてがフィルタリングの結果を拡張することが持っている場合は、is-open="search.pregunta?true:false"is-open="faq.open"を交換し、私たちは基本的に決定しているng-class="{'glyphicon-chevron-down': search.pregunta, 'glyphicon-chevron-right': !search.pregunta}"

ng-class="{'glyphicon-chevron-down': faq.open, 'glyphicon-chevron-right': !faq.open}"を交換する必要があります検索テキストが空であるかどうかの展開/折りたたみ状態。ここで

がある作業fiddle

+0

素晴らしい!しかし、私はコンソールでエラーが発生しました..あなたは試してみることができます:( – velez11

1

あなたは右、検索に一致するアコーディオンを開くようにしたいですか?完全に隠すわけではありませんか?

is-open属性の式を使用できます。このような:

is-open="search.pregunta && faq.pregunta.indexOf(search.pregunta) !== -1"

Here's a working fiddle

+0

それは動作しますが、私はコンソールでエラーが発生します.. – velez11