Na początek może kod i wyjaśnienie:
Kod: Zaznacz cały
if ($('#p-name').val() != "") {
var name = $('#p-name').val();
alert('');
$data = $data.filter('[@name="' + name + '"]');
} Kod wywoływany jest po wysłaniu formularza, wewnątrz:
Kod: Zaznacz cały
$('form').submit(function(){
// kod...
return false;
})Dane są filtrowane wg różnych kryteriów, tutaj pokazuję tylko wg imienia, ale pozostałe wyglądają podobnie. Po przefiltrowaniu, zawartość $data jest wyświetlana w postaci tabeli, bez przeładowania strony.
Wszystko działa dobrze, więc problem nie leży w warunkach, czy samym filtrowaniu.
Chodzi o ten alert(), który jak widać, jest tam zupełnie niepotrzebny. Na początku używałem np alert(name), żeby zobaczyć, czy dostaje odpowiednie dane.
Filtrowanie działa i tabela wyświetla się tak jak trzeba. Problem pojawia się, kiedy alert zostanie usunięty. Wtedy cały kod od tego momentu jest ignorowany, razem z return false, i strona się przeładowuje, a tabela się nie wyświetla.
No i nie rozumiem, w czym tutaj tkwi problem? Dlaczego kiedy alert jest (obojętne z jaką treścią) - wszystko jest OK, bez alertu - kod jest pomijany.
Będę wdzięczny za pomoc, bo już skończyły mi się pomysły.