Flexigrid es una buena cuadrícula de jQuery y bastante personalizable, pero la función de búsqueda rápida solo permite búsquedas exactas (hasta donde yo sé). ¿Alguien sabe una solución o solución para esto? Intenté agregar caracteres comodín a la cadena "p.query", pero no tuve suerte.

FYI: Esto es para usar con una base de datos MySQL y PHP, por lo que el comodín que intenté agregar fue '%'.

Aquí está la función "doSearch" en flexigrid.js:

doSearch: function () {
   p.query = $('input[name=q]', g.sDiv).val();
   p.qtype = $('select[name=qtype]', g.sDiv).val();
   p.newp = 1;
   this.populate();
},

¡Gracias por la ayuda!

2
gtr1971 20 ene. 2012 a las 21:14

1 respuesta

La mejor respuesta

La mejor respuesta que pude idear por mi cuenta fue cambiar la consulta SQL en el lado de PHP para tener una cláusula LIKE en lugar de una cláusula EQUAL TO, usando el carácter comodín apropiado "%".

Esperaba encontrar un comodín javascript / jQuery en el extremo del cliente que se agregaría a la cadena de búsqueda, pero mi búsqueda no arrojó ninguna respuesta para eso.

La línea que cambié en el script PHP es la siguiente:

$searchSql = ($qtype != '' && $query != '') ? "where $qtype like CONCAT('%','$query','%') and UserID = $id" : "where UserID = $id";

En lugar de:

$searchSql = ($qtype != '' && $query != '') ? "where $qtype = '$query' and UserID = $id" : "where UserID = $id";

¡Buena suerte!

1
gtr1971 24 ene. 2012 a las 21:50