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

106
Visualizações
¿Hay alguna forma de trabajar esta función de búsqueda de palabras clave si asignamos valor directamente sin escribir?

He implementado una función de búsqueda y funciona si buscamos la palabra clave escribiendo.

 <input type="text" class="txtInput" id="searchTheKey" placeholder="Enter the keywords to search....."> </label> <ul id="matchKey"> <li id="subjectName">JavaScript</li> <li id="teacherName"><a href="#">John Smith</a></li> <li id="subjectName">Java</li> <li id="teacherName"><a href="#">David Miller</a</li> <li id="subjectName">MongoDB</li> <li id="teacherName"><a href="#">Carol Taylor</a></li> </ul> <script> $("#searchTheKey").on('keyup', function(){ var value = $(this).val().toLowerCase(); $("#matchKey li").each(function () { if ($(this).text().toLowerCase().search(value) > -1) { $(this).show(); $(this).prev('.subjectName').last().show(); } else { $(this).hide(); } }); }) </script>

Pero en el caso de asignar valor en el cuadro de entrada directamente, la función de búsqueda no funciona.

ejemplo: $(".txtInput").val("MongoDB"); ¿Hay alguna forma de resolver este problema, que esto debería funcionar en ambos casos?

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

0

Puede agregar .trigger("keyup") a su $(".txtInput").val("MongoDB")

Manifestación

 $("#searchTheKey").on('keyup', function() { var value = $(this).val().toLowerCase(); $("#matchKey li").each(function() { if ($(this).text().toLowerCase().search(value) > -1) { $(this).show(); $(this).prev('.subjectName').last().show(); } else { $(this).hide(); } }); }) $(".mongo").click(function() { $(".txtInput").val("MongoDB").trigger("keyup") });
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <input type="text" class="txtInput" id="searchTheKey" placeholder="Enter the keywords to search....."> <ul id="matchKey"> <li id="subjectName">JavaScript</li> <li id="teacherName"><a href="#">John Smith</a></li> <li id="subjectName">Java</li> <li id="teacherName"><a href="#">David Miller</a></li> <li id="subjectName">MongoDB</li> <li id="teacherName"><a href="#">Carol Taylor</a></li> </ul> <button class="mongo">search for mongo</button>

about 4 years ago · Juan Pablo Isaza Relatório

0

Fragmento relevante: $("#searchTheKey").on('keyup', function(){

Vincula su función en keyup, de esta manera no se ejecutará ya que cambiar el valor de entrada mediante programación no activa un evento keyup.

La forma más fácil sería usar .trigger('keyup') cuando cambia el valor de entrada, como lo sugiere Carsten.

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