Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JavaScript]Zawężanie wyników
kamil_lk
post 20.10.2012, 14:59:12
Post #1





Grupa: Zarejestrowani
Postów: 325
Pomógł: 33
Dołączył: 31.05.2008

Ostrzeżenie: (0%)
-----


Cześć,

Napisałem sobie zawężanie wyników.

funkcje wyszukujące tekst wpisany w inpucie w tematach
  1. function strpos (tekst, szukany, offset) {
  2. var x = (tekst+'').indexOf(szukany, (offset ? offset : 0));
  3. return x === -1 ? false : x;
  4. }
  5. $(document).ready(
  6. function() {
  7. $('#fraza').keyup(
  8. function() {
  9. var ile = $('.wpis').children().length;
  10. for(var i=1; i<=ile; i++) {
  11. temat = $('.nr-'+i).children().children().html();
  12. if( !strpos( temat, $('#fraza').val(), 0 ) && $('#fraza').val().length != 0 ) $('.nr-'+i).hide();
  13. else $('.nr-'+i).show();
  14. }
  15. }
  16. );
  17. }
  18. );


Struktura zagnieżdżenia nazwy tematu
  1. <tr class="wpis nr-1"><td><a>Jakiś tam tytuł wpisu 1</a></td></tr>
  2. <tr class="wpis nr-2"><td><a>Jakiś tam tytuł wpisu 2</a></td></tr>
  3. <tr class="wpis nr-3"><td><a>Jakiś tam tytuł wpisu 3</a></td></tr>
  4. <tr class="wpis nr-4"><td><a>Jakiś tam tytuł wpisu 4</a></td></tr>


Wszystko działa, oprócz ejdnego przypadku. Gdy zaczynam wyszukiwanie od pierwszej litery tematu.

Czyli w przypadku, gdy wpisuję 'akiś tam tyt' to mi elegancko zawężą (ukrywa niepotrzebne wpisy przy pomocy funkcji hide() w jq), ale jak wpisuję 'Jakiś tam tyt' to już mi wszystkie ukrywa.

Widzi ktoś jaki błąd robię w skrypcie?

Przykład działania http://jsfiddle.net/Y6YPX/7/

Ten post edytował kamil_lk 20.10.2012, 15:21:36
Go to the top of the page
+Quote Post

Posty w temacie
- kamil_lk   [JavaScript]Zawężanie wyników   20.10.2012, 14:59:12
- - jaslanin   http://jsfiddle.net/Y6YPX/8/ JS jest językiem sła...   20.10.2012, 15:27:03
- - kamil_lk   A no o to chyba   20.10.2012, 15:29:11


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 20.07.2025 - 07:22