Ho un modulo di ricerca con una serie di input di testo e menu a discesa che invia tramite un GET. Mi piacerebbe avere un URL di ricerca più pulito rimuovendo i campi vuoti dalla stringa di query quando viene eseguita una ricerca.
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 usando jQuery?
[value]
corrisponde a qualsiasi elemento con l'attributovalue
presente , inclusi quelli con valori vuoti (o nessun valore). Ciò è dovuto a un bug nelle versioni precedenti di jQuery che creava un'incongruenza tra alcune varianti diinput[value]
e:input[value]
. Prendi, ad esempio<input value="foo"><input value=""><input value><input>
,; il bug è illustrato in questo violino .