Tengo un formulario de búsqueda con un número de entradas de texto & desplegables que se envía a través de un GET. Me gustaría tener una URL de búsqueda más limpia eliminando los campos vacíos de la cadena de consulta cuando se realiza una búsqueda.¿Cómo se usa jQuery's form.serialize pero excluyo campos vacíos
var form = $("form");
var serializedFormStr = form.serialize();
// I'd like to remove inputs where value is '' or '.' here
window.location.href = '/search?' + serializedFormStr
¿Alguna idea de cómo puedo hacer esto usando jQuery?
[valor] no funcionó para mí en jquery 1.7.2, [value! = ''] Hizo –
@Mvision, eso es porque hay una omisión pequeña pero significativa en esta respuesta. Para selectores CSS normales/puros en jQuery 1.8 y versiones anteriores, '[valor]' coincide con cualquier elemento con el atributo 'value' * present *, ** incluidos ** aquellos con valores vacíos (o nulos). Esto se debe a un error en las versiones anteriores de jQuery que creaba una incoherencia entre ciertas variaciones de 'input [value]' y ': input [value]'. Tome, por ejemplo, ''; el error se ilustra en [este violín] (http://jsfiddle.net/cxUux/). –
Noyo
gracias @Mvision He alterado la respuesta. –