Для примера я оставил только основную логику. На сколько я знаю , если не указать preventDefault() , то срабатывает только со второго клика. Но и так и так , срабатывает только со второго почему-то. Событие onChange отрабатывается с первого раза, как и положено. P.S В другом инпуте срабатывает всё как положено, там и логика одинаковая, просто разные имена переменных