Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

300
Vistas
Cambiar el color de fondo en cualquier entrada de número superior a 0 en JavaScript

Mi pregunta es simple, así que espero que no sea tan difícil de resolver. No es tan difícil como lo es para mí al menos :).

 <div id="block"> <input type="number" min="0" value="0"> </div>

https://jsfiddle.net/wbrnmldr/9n60r82y/2/

[EDITAR] Ok, ya que claramente soy demasiado tonto para explicarlo correctamente, lo haré de nuevo. Se supone que el gris alrededor del campo de entrada se vuelve amarillo, no el campo de entrada en sí.

Así que tengo este div simple como se ve arriba. Lo que se supone que sucede es que el color de fondo de este div cambia de #F1F1F1 a #FFD200 cada vez que el valor de entrada ya no es igual a 0. Y para hacerlo más complicado, si el valor vuelve a ser cero debería volver a #F1F1F1. Ya lo hice funcionar cuando envié el valor, pero mi objetivo es verlo suceder en tiempo real.

¿Alguien puede ayudarme a abordar este problema? ¡Gracias por adelantado!

Las siguientes son algunas de las cosas que probé pero no pude trabajar:

 $('.input').each(function() { var inputValue = $(this); inputValue.data('oldValue', inputValue.val()); inputValue.bind("propertychange change click keyup input paste", function(event){ if (inputValue.data('oldValue') != inputValue.val()) { inputValue.data('oldValue', inputValue.val()); document.getElementsByClassName('block').style.backgroundColor = "#FFD200"; } }); });
 function changeColor() { document.getElementById("tracker-option-block").style.backgroundColor = "FFD200"; return false; }
about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

Debe escuchar cualquier cambio de valor de entrada usando un evento de 'entrada' como este:

 document .querySelector('#block input') .addEventListener('input', event => { document.querySelector('#block').style.backgroundColor = event.target.value === '0' ? '#F1F1F1' : '#FFD200'; })
 #block { margin: 10px; padding:30px; background-color: #F1F1F1; /* target color: #FFD200;*/ }
 <div id="block"> <input type="number" min="0" value="0"> </div>

Referencias: .querySelector()

about 4 years ago · Juan Pablo Isaza Denunciar

0

puede usar addEventListener (cambiar) para obtener valor siempre en la entrada de cambio y luego cambiar el color de fondo

 document.querySelector('input').addEventListener("change",function(){ if(document.querySelector('#block input').value>0){ document.querySelector('#block input').style.backgroundColor= "#54BAB9"; } else{ document.querySelector('#block input').style.backgroundColor= "#F1F1F1"; } })
about 4 years ago · Juan Pablo Isaza Denunciar

0

ingrese la descripción de la imagen aquí

recuerde que el texto en una entrada no tiene su color de fondo, sino que tiene el color que he mostrado en el código que puede usar, ¡Feliz programación!

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda