Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Filtrowanie tabeli filter() - problem z polskimi znakami
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
globalmarek
Wita, mam problem ze skryptem znalezionym w jednym z blogów.
W temacie java script nie jestem zbyt biegły, więc zwracam się z prośbą do Was snitch.gif

Skrypt niby działa dobrze czyta polskie znaki itd. jednak przypadkiem zauważyłem że jest problem
z filtrowaniem słów które zaczynają się polskimi znakami.

Użyłem go na stronie ze szkoleniami. Jeśli szkolenie odbywa się np. w mieście Łódź nie jest pokazywane.
Analogicznie jest z tematem który zaczyna się słowem Świadczenia.

Tutaj jest skrypt.
http://jsfiddle.net/jtV7q/38/


Macie może jakieś pomysły?


var $rows = $('#tabela tr');
$('#szukaj_osoby').keyup(function() {

var val = '^(?=.*\\b' + $.trim($(this).val()).split(/\s+/).join('\\b)(?=.*\\b') + ').*$',
reg = RegExp(val, 'i'),
text;

$rows.show().filter(function() {
text = $(this).text().replace(/\s+/g, ' ');
return !reg.test(text);
}).hide();
});
globalmarek
A może coś konkretniej, bo tak jak pisałem nie jestem biegły w js...
trueblue
Musisz każdy polski znak z pola tekstowego (na nim budujesz wyrażenie regularne) zamienić na odpowiednik unicode.
http://stackoverflow.com/a/12897222
globalmarek
Znalazłem jeszcze coś takiego:

http://xregexp.com/plugins/

Zainkludowałem pliki.
unicode-base.js
xregexp-all-min.js


Jak teraz powinien wyglądać kod js?

Taki wzorzec znalazłem:

^[\\p{L}|0-9|\x20|.|,|- ]+$

Gdzie go wstawić?




Hej jest ktoś w stanie mi pomóc?

^[\\p{L}|0-9|\x20|.|,|- ]+$

gdzie wstawić ten wzorzec do js z użyciem tego plugina http://xregexp.com/plugins/?

var $rows = $('#tabela tr');
$('#szukaj_osoby').keyup(function() {

var val = '^(?=.*\\b' + $.trim($(this).val()).split(/\s+/).join('\\b)(?=.*\\b') + ').*$',
reg = RegExp(val, 'i'),
text;

$rows.show().filter(function() {
text = $(this).text().replace(/\s+/g, ' ');
return !reg.test(text);
}).hide();
});
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.