Una de esas ocasiones es cuando teniendo un campo de búsqueda principal de una JDatatable (plugin de jquery), se quiere llevar de él su valor de búsqueda, para enviar a un reporte ireport o a una consulta sql externa, entre otros casos.
Es decir busco por código, 504290, busca en el json y trae los valores, podría obtener esos valores leyendo el DOM de la tabla o con una función del plugin JDatatable para leer las filas del resultado de la búsqueda, pero lo que realmente requerimos es hacer llegar el criterio con el cual se busco.
Este es un proceso de programación sencillo, el lió se da es cuando se quiere obtener ese valor de la caja, porque esta no posee recurso de código alguno fuera del plugin donde editar este componente, entonces nos vamos de esta la forma mas fácil.
//En el Controlador
string2 += "script type="text/javascript"";
string2 += " $(function() {";
string2 += " var oTableSP = $('#TablaSeguimientoProduccion').dataTable({"
+ " \"bJQueryUI\": true,\n"
+ " \"bPaginate\": false\n"
+ " \"sScrollY\": '200px',\n"
+ " \"bPaginate\": false,\n"
+ " \"bScrollCollapse\": true\n"
+ " });";
string2 += " });";
string2 += " $(document).ready(function() { "
+ " $('div#TablaSeguimientoProduccion_filter input').change(function() { "
+ " document.getElementById('formVisor:hiddengeneral').value = $('div#TablaSeguimientoProduccion_filter input').val();"
+ " }); "
+= " }); ";
string2 += "/script";
return string2;
}
//el setter y getter para gestionar la informacion de busqueda
private String filtroGeneral;
public String getFiltroGeneral(){
return filtroGeneral;
}
public void setFiltroGeneral(String filtroGeneral){
this.filtroGeneral=filtroGeneral
}
//componente xhtml para pasarle el valor, es de tipo oculto no se necesitaria mostrar solo es para que el controlador sepa donde esta la informacion
//y con javascript se pueda enviar.
h:inputHidden id="hiddengeneral" value="#{controllador.filtroGeneral}"/
No hay comentarios:
Publicar un comentario