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

264
Visualizações
Tabla HTML: recorre las filas creadas dinámicamente y si el campo en una columna específica contiene una fecha, evita que la fila se edite

Estoy tratando de crear un JavaScript para deshabilitar una fila si EndDate contiene una fecha. La tabla se genera automáticamente, así que pensé en buscar cuántas filas tiene la tabla y comenzar a recorrerlas. Compruebe si los campos de la columna EndDate contienen una fecha. Si esa fila contiene una fecha, deshabilite cualquier campo en esa fila.

Para rastrear los campos, usé esto para verificar si podía deshabilitarlos.

 document.getElementById("r0_LineItemCode").disabled = "true"; document.getElementById("r0_LineItemCode_ref_ref").disabled = "true"; document.getElementById("pr0_LineItemCode").disabled = "true"; document.getElementById("r0_ec_type").disabled = "true"; 

Mesa

Código de tabla

campo de fecha

Logré recorrer las filas y averiguar cuántas filas hay y mostrar los datos en la consola. Pero ahora, seleccionar ese campo para verificar si contiene una fecha y luego deshabilitar esos elementos de fila falla.

Código para rastrear las filas e iterar a través de las filas:

 let text = ""; var endDateFields = []; var rowData = document.querySelector("#RequestLinesGrid_RowIDs"); console.log(rowData); console.log(rowData.value); const rows = rowData.value.split(','); rows.forEach(myFunction); console.log(text); console.log(r0_EndDate); console.log(r1_EndDate); console.log(r2_EndDate); function myFunction(item, index) { text += "indexNumber = " + index + " variableField: " + item + "_EndDate"; var str = item + "_EndDate"; eval(str); console.log(str); }

Tengo la sensación de que casi estoy allí, pero necesito un pequeño empujón en la dirección correcta :)

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

0

Esta es una lógica simple de su problema, si la date no está vacía, deshabilite todas las inputs del tr principal.

 document.querySelector('table').querySelectorAll('td.date').forEach(el => { if (el.innerHTML !== '') { const parentTr = el.parentElement; parentTr.querySelectorAll('input').forEach(input => { input.disabled = true; }); } });
 <table> <thead> <th>id</th> <th>input1 Example</th> <th>input2 Example</th> <th>date Example</th> </thead> <tbody> <tr> <td>1</td> <td><input name='test' type='text'></td> <td><input name='test' type='text'></td> <td class='date'>10/10/2021</td> </tr> <tr> <td>2</td> <td><input name='test' type='text'></td> <td><input name='test' type='text'></td> <td class='date'>10/10/2021</td> </tr> <tr> <td>1</td> <td><input name='test' type='text'></td> <td><input name='test' type='text'></td> <td class='date'></td> </tr> </tbody> </table>

En lugar de verificar todas las filas, simplemente agregue una clase simple en td have date y luego verifíquelo como mi ejemplo.

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