Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

320
Visualizações
El filtro desplegable <thead> de tablas de datos no funciona

Estoy poniendo el filtro desplegable en <thead></thead> . Pero no puede funcionar correctamente. El filtro de búsqueda en mi sitio web funciona perfectamente, pero no el filtro desplegable. Incluso revisé el código html para <option><select> en comparación con el ejemplo aquí . Cuando selecciono una <option> , la tabla la reconoce como un valor no coincidente, faltan todas las filas.

Aquí hay una captura de pantalla de la tabla junto con el inspector html:

ingrese la descripción de la imagen aquí

Aquí está mi código html desplegable <select> :

 <option value=""></option> <option value="SK Ambong">SK Ambong</option> <option value="SK Dudar">SK Dudar</option> <option value="SK Kitou">SK Kitou</option>

Aquí está mi código JS:

 $('table').DataTable({ ordering: false, initComplete: function () { const nonSearchableColNo = [1, 6, 7, 8]; var api = this.api(); // For dropdown column api.columns(2).every( function () { var column = this; var select = $('<select><option value=""></option></select>') .appendTo( $(column.header()).empty() ) .on( 'change', function () { var val = $.fn.dataTable.util.escapeRegex( $(this).val() ); column .search( val ? '^'+val+'$' : '', true, false ) .draw(); } ); column.data().unique().sort().each( function ( data, j ) { optionVal = data.match(/SK [AZ]\w+/g); select.append( '<option value="'+optionVal+'">'+optionVal+'</option>' ) } ); } ); } });
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

La documentación de datatables.net (y su código) coincide con la cadena completa , por lo que sería "SK Dudar 1", pero obtiene SK+[palabra], por ejemplo, "SK Dudar" (como también se muestra en su <option> ).

"^SK Dudar$" no coincide con "SK Dudar 1" , por lo que no obtiene coincidencias.

Cambio

 optionVal = data.match(/SK [AZ]\w+/g);

a

 optionVal = data;

para verificar que el resto funcione, pero es posible que no funcione con lo que parece una imagen adicional (no se proporcionan datos html/datatables, por lo que no puedo estar seguro)

O cambiar

 column.search(val ? '^'+val+'$' :...

a

 column.search(val ? '^'+val : ''...

(es decir, eliminar el $ )

Dependiendo de qué más haya en esa columna de datos, es posible que deba cambiar su expresión regular de búsqueda, por ejemplo

 column.search(val ? '^'+val+'\s.?\w' : ''...

también debe hacer coincidir "SK Dudar" con "SK Dudar 1", pero no con "SK Dudar 1 2".

Es posible que deba mover la imagen a una columna diferente si no funciona, pero no coincide en HTML, sino en la column.search . API de búsqueda de tablas de datos.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda