2011-10-17 18 views
7

Mam aplikację JQuery Mobile (1.0rc1), która ma widok listy z zaimplementowanym filtrem wyszukiwania. Jest podobny do próbki this.Jak wyczyścić filtr wyszukiwania listy JQuery Mobile?

Pod pewnymi warunkami dynamicznie ładuję dodatkowe elementy do listy za pomocą wywołania ajax. Gdy tak się stanie, chcę wyczyścić wszystko, co wpisano w filtrze wyszukiwania, w przeciwnym razie otrzymam częściowo przefiltrowaną listę.

Próbowałem wypalania wyraźny przycisk tak:

$('.ui-button-clear', $.mobile.activePage).click(); 

i wyczyszczenie formularza takiego:

$("form > input", $.mobile.activePage).val(''); 

ale nie działało. Czy ktoś może mnie oświecić we właściwy sposób, aby to osiągnąć?

Odpowiedz

14

powinien być w stanie usunąć wyczyścić searchfilter z

$('input[data-type="search"]').val(""); 

Edit: Aby zaktualizować listę będzie trzeba także wyzwolić "zmiana" -event na searchfilter:

$('input[data-type="search"]').trigger("keyup"); 

JSFiddle

+0

Dzięki! To wystarczyło. –

+1

Świetnie, działa również w przypadku błędu na stronie: http://demos.jquerymobile.com/1.4.2/selectmenu-custom-filter/ Gdy mam wiele opcji, pop-upowe filtry niestandardowe zniknęły po pierwszym wyszukiwaniu, te dwie komendy pomogły. – Aiphee

0

jeśli mówisz Jquery telefonu ListView, to trzeba tę

$('#autocomplete li').click(function() { 
            $('.ui-input-clear').trigger("click"); 
           });