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'attributovaluepresente , 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 .