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

253
Visualizações
Filtro dinámico predeterminado para una tabla HTML con Javascript puro

Estoy administrando un archivo CSV grande con columnas que muestran la fecha, la hora y el mensaje.

Actualmente he logrado convertir mi gran archivo CSV en una tabla HTML con código Javascript adicional. También me las arreglé para poner un filtro para poder filtrar palabras, fechas y horas específicas.

Ahora estoy atascado con la configuración de un valor predeterminado dinámico. Básicamente, el filtro (oculto) solo debe mostrar filas con el mes y el día actuales. De esta manera, puedo mirar hacia atrás en los mensajes que se enviaron hace X años en esta fecha.

Como mencioné, mi filtro actual es un campo de entrada y definitivamente no es la forma automática como quiero

Tampoco estoy listo para usar nada más que Javascript. Mi conocimiento más allá de HTML y CSS no llega tan lejos

HTML: por simplicidad, aquí se estructura una tabla. Tenga en cuenta que los datos de fecha están marcados como MM/DD/YY.

 <input type="text" id="myInput" onkeyup="myFunction()" placeholder="Search for names or countries.." title="Type in a name or a country"> <table> <tr> <td> 12/20/19</td> <td> 01:39 </td> <td> Rens: Wat </td> <td> </td> </tr> <tr> <td> 12/20/20</td> <td> 01:40 </td> <td> Rocco Haagenhuizen: In de chat </td> <td> </td> </tr> <tr> <td> 12/19/21</td> <td> 01:40 </td> <td> Rens: Wacht </td> <td> </td> </tr> <tr> <td> 12/20/21</td> <td> 01:40 </td> <td> Rocco Haagenhuizen: Ga naar je chats </td> <td> </td> </tr> </table>

Javascript: filtro de entrada

 const myFunction = () => { const trs = document.querySelectorAll('Table tr') const filter = document.querySelector('#myInput').value const regex = new RegExp(filter, 'i') const isFoundInTds = td => regex.test(td.innerHTML) const isFound = childrenArr => childrenArr.some(isFoundInTds) const setTrStyleDisplay = ({ style, children }) => { style.display = isFound([ ...children // <-- All columns ]) ? '' : 'none' } trs.forEach(setTrStyleDisplay) }

JSfiddle: http://jsfiddle.net/2bxwvqo7/6/

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

 const myFunction = () => { const trs = document.querySelectorAll('Table tr') const filter = document.querySelector('#myInput').value const regex = new RegExp(filter, 'i') const isFoundInTds = td => regex.test(td.innerHTML); const now = new Date(); const isRightDate = childrenArr => childrenArr.some(td => { const tdDate = new Date(td.innerHTML); return tdDate.getDate() === now.getDate() && tdDate.getMonth() === now.getMonth(); }); const isFound = childrenArr => childrenArr.some(isFoundInTds) const setTrStyleDisplay = ({ style, children }) => { style.display = isRightDate([...children]) && isFound([ ...children // <-- All columns ]) ? '' : 'none'; } trs.forEach(setTrStyleDisplay) } myFunction();
 body { padding: 20px; } input { margin-bottom: 5px; padding: 2px 3px; width: 209px; } td { padding: 4px; border: 1px #CCC solid; width: 100px; }
 <input type="text" id="myInput" onkeyup="myFunction()" placeholder="Search for names or countries.." title="Type in a name or a country"> <table> <tr> <td> 12/13/19</td> <td> 01:39 </td> <td> Rens: Wat </td> <td> </td> </tr> <tr> <td> 12/14/20</td> <td> 01:40 </td> <td> Rocco Haagenhuizen: In de chat </td> <td> </td> </tr> <tr> <td> 12/13/21</td> <td> 01:40 </td> <td> Rens: Wacht </td> <td> </td> </tr> <tr> <td> 2/13/21</td> <td> 01:40 </td> <td> Rocco Haagenhuizen: Ga naar je chats </td> <td> </td> </tr> </table>

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