Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript]Zawężanie wyników
Forum PHP.pl > Forum > Przedszkole
kamil_lk
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/
jaslanin
http://jsfiddle.net/Y6YPX/8/

JS jest językiem słabo typowanym. Przykład 0 == false da wynik true, dopiero 0 === false da wynik false i z tym był u Ciebie problem.

O to chodzi?
kamil_lk
A no o to chyba smile.gif
To jest wersja lo-fi głównej zawarto¶ci. Aby zobaczyć pełn± wersję z większ± zawarto¶ci±, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.