necesito cargar una tabla y despues modificarla segun un filtro

necesito cargar una tabla y despues modificarla segun un filtro

sith_fjpesith_fjpe Posts: 1Questions: 1Answers: 0
edited November 2019 in Free community support

tengo una tabla de propiedades, necesito cargarla al abrir una pagina y posteriormente filtrarla por medio de un botón
tengo la parte de la carga correcta
pongo código

jQuery( document ).ready(function() 
{
    var table = jQuery('#dt_todas').dataTable
        ({
             "languaje": {"url":"dataTables.Spanish.lang"},
             "bProcessing": true,
             "sAjaxSource": "data.php",
              "bPaginate":false,
              "destroy":true,
              "searching": false,
              "sPaginationType":"full_numbers",
              "iDisplayLength": 5,
             "aoColumns": 
            [
                    { mData: 'id_prop' } ,
                    { mData: 'tipo' },
                    { mData: 'opcion' },
                    { mData: 'estado' },
                    { mData: 'alcaldia'},
                    { mData: 'colonia' },
                    { mData: 'calle'},
                    { mData: 'descripcion'},
                    { mData: 'precio', render: $.fn.dataTable.render.number( ',', '.', 2, '$' )}
            ]

        });
});

pero despues necesito filtrar por rentas por ejemplo y al hacer el click en el boton no me carga pongo codigo

 <script>
// seleccionamos el enlace 
var boton = document.getElementById("filtrenta");
boton.onclick = function(e) {
    e.preventDefault();
    var s = document.createElement("script");
    s.src = "scriptr.js";
    document.querySelector("body").appendChild(s);
    s.remove();
}
</script>

jQuery( document ).ready(function() 
{
    var table = jQuery('#dt_todas').dataTable
        ({
             "languaje": {"url":"dataTables.Spanish.lang"},
             "bProcessing": true,
             "sAjaxSource": "data.php",
              "bPaginate":false,
              "destroy":true,
              "searching": false,
              "sPaginationType":"full_numbers",
              "iDisplayLength": 5,
             "aoColumns": 
            [
                    { mData: 'id_prop' } ,
                    { mData: 'tipo' },
                    { mData: 'opcion' },
                    { mData: 'estado' },
                    { mData: 'alcaldia'},
                    { mData: 'colonia' },
                    { mData: 'calle'},
                    { mData: 'descripcion'},
                    { mData: 'precio', render: $.fn.dataTable.render.number( ',', '.', 2, '$' )}
            ]

        });
});

Edited by Kevin:  Syntax highlighting. Details on how to highlight code using markdown can be found in this guide

Answers

  • kthorngrenkthorngren Posts: 21,184Questions: 26Answers: 4,925

    You will want to use the Datatables API's to filter the table. search() to search all columns or column().search() to search a specific column.

    Here are some examples that may help you get started:
    https://datatables.net/examples/api/multi_filter.html
    https://datatables.net/examples/api/multi_filter_select.html
    https://datatables.net/examples/api/regex.html

    Kevin

  • djsonicodjsonico Posts: 1Questions: 0Answers: 0

    Hola, podes filtrar usando search() como te dicen más arriba, te dejo un ejemplo, en mi caso, la filtro por el nombre de el "ResponsableDeTarea".
    El responsable esta cargado en mi BD, entonces la tabla ya los muestra directamente en la columna n° 2.
    Cabe destacar, que en mi tabla, en los titulos, le agregue los botones "Mauricio" y "Gustavo" y los identifico por el id.

    Responsable

    Mauricio Gustavo

    var tabla= $('#comunicacionDiaria').DataTable({
    },
    "columns": [
    { "data": "ResponsableDeTarea"},
    ]
    $('#Mauricio').on('click', function() {
    tabla
    .columns()
    .search('')
    .column(2)
    .search('Mauricio')
    .draw();
    });
    $('#Gustavo').on('click', function() {
    tabla
    .columns()
    .search('')
    .column(2)
    .search('Gustavo')
    .draw();

Sign In or Register to comment.