Complemento de filtro jquery tablesorter
-
20-08-2019 - |
Pregunta
Estoy usando el tablesorter jquery plugin emparejado con este excelente plugin tablesorter filter .
Tengo un cuadro de selección en mi página que contiene una lista de todas las columnas de mi tabla. Quiero poder limitar el filtro solo a la columna seleccionada cuando el usuario elija seleccionarlo.
Hasta ahora he adjuntado un evento al cuadro de selección así:
$('#SelectedColumn').bind("change", columnSelected);
Con un controlador como este:
function columnSelected() {
var selected = $(this).val();
$.tablesorterFilter.defaults.filterColumns = [selected];
}
Esto establece correctamente el valor predeterminado para la columna de filtro, pero cuando ocurre el filtro, en realidad no usa ese valor. Parece que el complemento le permite establecer columnas filtradas solo en la construcción. O mi jquery newbiness no puede encontrar la manera de obtener la información que necesito cambiar.
Solución
esto me dio lo que quería en una especie de fuerza bruta. Todavía estoy buscando una mejor solución.
function columnSelected() {
var selected = $(this).val();
$('#GoToTextBox').val('').focus();
if (selected == 'Any') {
$table.get(0).config.filter[0].filterColumns = null;
} else {
$table.get(0).config.filter[0].filterColumns = [selected];
}
}
Otros consejos
Trabajo ancho jFilterSeleccione los filtros para Tablesorter:
http://www.jordigirones.com/131-filtros -desplegables-con-tablesorter.html
Tuve el mismo problema. En caso de cambio del cuadro de selección, simplemente vuelva a cargar la página y su problema se resolverá.
<select name="search" id="search" onchange="refreshPage()" >
function refreshPage(){
location.reload();
}