Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

376
Views
Ocultar botón si se encuentra texto en la página, pero no si este texto también se encuentra en la página

Tengo este código de trabajo que oculta el botón "siguiente" en mi pago si los clientes tienen 'sesión 1 de 5', '2 de 5', '3 de 5' o '4 de 5' en su cesta. Porque necesito que agreguen las 5 sesiones a su cesta antes de que puedan hacer clic en "siguiente"

¿Cómo modifico el código para que también verifique si la página contiene 'sesión 5 de 5' y, por lo tanto, no agregue la clase "hideElement"?

¿También es posible hacer que este código se ejecute cada dos segundos de forma continua mientras navegan por un sistema de pago?

 var itemCode = ["session 1 of 5", "session 2 of 5", "session 3 of 5", "session 4 of 5"]; var contains = itemCode.some(function(code) { return $(".bookly-cart-step").text().indexOf(code) >= 0; }); if (contains) { $(".bookly-next-step").addClass("hideElement"); }
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Por lo general, esto es algo que integraría directamente con la lógica de la cesta, pero parece que está usando un complemento, por lo que supongo que esto no es posible en su caso específico, de ahí su pregunta.

El siguiente fragmento le dará una idea de cómo puede verificar que todas las sesiones estén presentes utilizando el método de every matriz y deshabilitar/habilitar el botón de envío en consecuencia (comparando con el contenido de texto de manera similar a su secuencia de comandos original).

Aunque no recomendaría verificar con el contenido del texto si puede verificar directamente con la cesta.

 const sessions = ['session 1', 'session 2', 'session 3'] const searchTarget = document.querySelector('.target'); const submitButton = document.querySelector('.submit') if (searchTarget.textContent.includes('session')) { if (!sessions.every((session) => searchTarget.textContent.includes(session))) { submitButton.setAttribute("disabled", "") } else { submitButton.removeAttribute('disabled') } }
 <div class="target">session 1</div> <button class="submit">test</button>

En términos de agregar una nueva verificación, sería mejor simplemente llamar a la función de verificación cuando un usuario completa una acción relacionada con el carrito, podría usar un detector de eventos para esto.

Si esto no es posible, puede usar el observador de mutaciones para verificar los cambios de texto o usar setInterval como último recurso, ya que esto podría comenzar a afectar el rendimiento.

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!