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

178
Visualizações
Bootstrap 5 Autocompletar devuelve nulo onSelectItem

Implementé Bootstrap 5 Autocompletar desde https://github.com/gch1p/bootstrap-5-autocomplete Obtengo datos de Firestore mi código:

 async function getProductsArray() { let autoCompleteArray = []; try { const [productsArray, productsDefault] = await getSettingsProducts(); productsArray.sort(); productsArray.forEach((element, index) => { autoCompleteArray.push({ label: element, value: element }); }); const field = document.getElementById('productsAutoComplete'); const ac = new Autocomplete(field, { //data: [{label: "I'm a label", value: 42}], data: autoCompleteArray, maximumItems: 5, threshold: 1, onSelectItem: ({ label, value }) => { console.log("user selected:", label, value); document.getElementById('productsAutoComplete').value = ""; //createKitElements(label, 1); //console.log(label) inputVal(label); } }); } catch (error) { console.log("Get Products Error: ", error); // errorInfo(error) } }

Parece que funciona, pero no siempre. A veces, "onSelectItem" devuelve "null" (alrededor del 25%). Incluso si se hace clic en el mismo elemento. Revisé Chrome y Firefox. En Chrome, un poco mejor. Antes usaba Twitter para escribir con anticipación, pero es antiguo, así que quería probar algo nuevo. ¿Podría recomendar alguna API de autocompletar?

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

0

simplemente reemplace estas 2 líneas en autocomplete.js (función createItems).

reemplazar :

 let dataLabel = e.target.getAttribute('data-label'); let dataValue = e.target.getAttribute('data-value');

con :

 let dataLabel = e.currentTarget.getAttribute('data-label'); let dataValue = e.currentTarget.getAttribute('data-value');

o

 let dataLabel = e.target.getAttribute('data-label') || e.target.parentNode.getAttribute('data-label'); let dataValue = e.target.getAttribute('data-value') || e.target.parentNode.getAttribute('data-value');
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