en este código, cuando selecciono una opción y luego hago clic en el botón, todo está bien, pero cuando selecciono otra opción y luego hago clic en el botón, ¡primero se ejecuta para la opción perevius! luego por uno reciente. ¿Cómo puedo arreglarlo? (Necesito poner mi onclick dentro de la función onchange)
$("select").on("change", function (e) { let i = 1; console.log(this.value); $("button").click(function () { console.log(i++); }); });la salida es así:
opción1 1 2 3 4
opción2 5 1
Si desea que tenga solo un controlador de eventos, debe eliminar los anteriores, puede usar .off() para eliminar un controlador de eventos.
$("select").on("change", function (e) { let i = 1; console.log(this.value); $("button").off('click').click(function () { console.log(i++); }); });