Mam formularz wyszukiwania z wieloma wpisami tekstowymi & drop-downs, które przesyła za pośrednictwem GET. Chciałbym mieć czystszy adres URL wyszukiwania, usuwając puste pola z zapytania, gdy wykonywane jest wyszukiwanie.Jak korzystać z formularza jQuery.serialize, ale wyklucz puste pola
var form = $("form");
var serializedFormStr = form.serialize();
// I'd like to remove inputs where value is '' or '.' here
window.location.href = '/search?' + serializedFormStr
Każdy pomysł, jak mogę to zrobić za pomocą jQuery?
[wartość] nie działała dla mnie w jquery 1.7.2, [wartość! = ''] Zrobiła –
@Mvision, to dlatego, że w tej odpowiedzi jest małe, ale znaczące pominięcie. Dla normalnych/czystych selektorów CSS w jQuery 1.8 i wcześniejszych, '[value]' pasuje do dowolnego elementu z atrybutem 'value' * present *, ** tym ** z pustymi wartościami (lub nie). Jest to spowodowane błędem we wcześniejszych wersjach jQuery, które spowodowało niespójność między pewnymi odmianami 'input [value]' i ': input [value]'. Weźmy na przykład ''; błąd jest zilustrowany w [tym skrzypku] (http://jsfiddle.net/cxUux/). – Noyo
dzięki @Mvision Zmieniłem odpowiedź. –