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

123
Visualizações
¿Cómo actualizar de manera confiable una lista de datos con una llamada web en javascript?

Probé muchas implementaciones diferentes para actualizar las opciones de la lista de datos a partir de una solicitud de búsqueda, pero todas las que hice resultaron en un comportamiento poco confiable en el uso.

Tengo esta enorme celda creada dinámicamente en una tabla que, cuando se crea, rellena automáticamente los campos de identidad con el número de fila:

 cell2.innerHTML = '<td scope="row"> <input form="form' + rowNumber + '" type="text" name="productCode" id="form' + rowNumber + 'productCode" value="" ' + 'class="form-control" list="datalist' + rowNumber + 'productCode" onInput="searchProductCode(' + rowNumber + ')" autocomplete="false" />' + '<datalist id="datalist' + rowNumber + 'productCode"></datalist>' + '</td>';

Y llama a esta función en la entrada del usuario:

 async function searchProductCode(rowNumber) { var data = document.getElementById("form" + rowNumber + "productCode").value; var dataList = document.getElementById("datalist" + rowNumber + "productCode"); dataList.innerHTML = "" if (data.length < 3) { return } var products = await searchAtServer("/products/search", data) for await (product of products) { let option = document.createElement("option"); option.setAttribute("data-id", product.id); option.value = product.code; dataList.appendChild(option); }

La función searchAtServer es una búsqueda asíncrona:

 async function searchAtServer(address, data) { return fetch(address, { method: 'post', headers: { 'Content-Type': 'text/plain' }, body: data }) .then(function (response) { return response.json(); }) .catch(function (error) { console.log(address + 'Request failed', error); }) }

Mi problema

Publica de manera confiable y captura la entrada del usuario de manera confiable, pero el campo de la lista de datos no se completa automáticamente de manera confiable. A veces tiene las opciones correctas, pero otras veces no se comporta como esperaba: no enumera nada, enumera los números 1/2, enumera los números 1/2 + la respuesta correcta, enumera las respuestas antiguas.

Mi objetivo principal es completar automáticamente una lista desplegable de opciones del servidor para la entrada.

about 4 years ago · Juan Pablo Isaza
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