Ho un modulo di ricerca con un numero di input di testo & menu a discesa che invia tramite GET. Mi piacerebbe avere un url di ricerca più pulito rimuovendo i campi vuoti dalla querystring quando viene eseguita una ricerca.Come usare jQuery form.serialize ma escludere i campi vuoti
var form = $("form");
var serializedFormStr = form.serialize();
// I'd like to remove inputs where value is '' or '.' here
window.location.href = '/search?' + serializedFormStr
Qualche idea su come posso farlo utilizzando jQuery?
[valore] non ha funzionato per me in jquery 1.7.2, [value! = ''] Ha fatto –
@Mvision, questo perché c'è una piccola ma significativa omissione in questa risposta. Per selettori CSS normali/puri in jQuery 1.8 e precedenti, '[valore]' corrisponde a qualsiasi elemento con l'attributo 'value' * present *, ** compresi ** quelli con valori vuoti (o no). Ciò è dovuto a un bug nelle versioni precedenti di jQuery che creava un'incoerenza tra alcune variazioni di 'input [valore]' e ': input [valore]'. Prendiamo, ad esempio, ''; il bug è illustrato in [questo violino] (http://jsfiddle.net/cxUux/). – Noyo
grazie a @Mvision Ho modificato la risposta. –