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

151
Vistas
How to call multiple ID's in one function?

I've found this function that allows me to do what I want, but since I have many inputs, and I don't want to use this JS on all of them, I would like to call it only on couple of inputs. Can I do that by ID or something?

( I know that this sentence isn't one of the best, but I'm in a hurry, sorry)

var pastValue, pastSelectionStart, pastSelectionEnd;

$("input").on("keydown", function() {
    pastValue          = this.value;
    pastSelectionStart = this.selectionStart;
    pastSelectionEnd   = this.selectionEnd;
}).on("input propertychange", function() {
    var regex = /^(100|(\d|[1-9]\d)(\.\d{0,2})?)$/;
                    
    if (this.value.length > 0 && !regex.test(this.value)) {
        this.value          = pastValue;
        this.selectionStart = pastSelectionStart;
        this.selectionEnd   = pastSelectionEnd;
    }
});
about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

I'll post a jQuery alternative - since you've posted jQuery in your question code.

You just swap the CSS selector for an input element with the CSS selector for your specific element IDs, like so:

var pastValue, pastSelectionStart, pastSelectionEnd;

$("#myID1, #myID2, #myID3").on("keydown", function() {
    pastValue          = this.value;
    pastSelectionStart = this.selectionStart;
    pastSelectionEnd   = this.selectionEnd;
}).on("input propertychange", function() {
    var regex = /^(100|(\d|[1-9]\d)(\.\d{0,2})?)$/;
                    
    if (this.value.length > 0 && !regex.test(this.value)) {
        this.value          = pastValue;
        this.selectionStart = pastSelectionStart;
        this.selectionEnd   = pastSelectionEnd;
    }
});
about 4 years ago · Juan Pablo Isaza Denunciar

0

Actually setting class on every input you want access would help, then accessing them using getElementsByClassName then you will add your event listener to all needed input.

const myInputs = document.getElementsByClassName("myInputs");
// consider myInputs as the class I gave to wanted inputs
myInputs.forEach(input=>{
input.addEventListener('click', functionHandler);
// functionHandler is the function where you will put your logic
})

Hope this is going to be helpful

about 4 years ago · Juan Pablo Isaza Denunciar

0

Give .inputTest class to all your inputs

var inputs = $(".inputTest");
for (var obj of inputs) {
  var pastValue, pastSelectionStart, pastSelectionEnd;
  obj
    .on("keydown", function () {
      pastValue = this.value;
      pastSelectionStart = this.selectionStart;
      pastSelectionEnd = this.selectionEnd;
    })
    .on("input propertychange", function () {
      var regex = /^(100|(\d|[1-9]\d)(\.\d{0,2})?)$/;

      if (this.value.length > 0 && !regex.test(this.value)) {
        this.value = pastValue;
        this.selectionStart = pastSelectionStart;
        this.selectionEnd = pastSelectionEnd;
      }
    });
}

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