const AMOUNT = 1000; //Младший вес от старшего отличается на 1000, т.к. эта цифра не меняется я объявил ее как константу let firstInput = document.querySelector("#first-input"); //Нашел первый инпут в который пользователь будет вводить данные для дальнейшей работы let secondInput = document.querySelector("#second-input"); //Нашел второй инпут, по анологии с первым let firstType = document.querySelector("#first-type"); //Select, пользователь будет выбирать тип веса для первого инпута let secondType = document.querySelector("#second-type"); //Select для выбора веса второго инпута let countFirstWeight = function() { // Функция которая переводит вес первого инпута во второй инпут let number = firstInput.value; for(let i = 0; i < firstType.selectedIndex; i++) { // Счетчик, тут я смотрю какой тип выбрал пользователь и перевожу его вес в милиграмы number *= AMOUNT; } for(let i = 0; i < secondType.selectedIndex; i++) { // Перевожу милиграмы из первого счетчика в вес который выбран во втором инпуте number /= AMOUNT; } secondInput.value = number; // Вывожу полученое число во второй инпут }; let countSecondWeight = function() { // Аналогичная функция, перевожу вес второго инпута в первый let number = secondInput.value; for(let i = 0; i < secondType.selectedIndex; i++) { number *= AMOUNT; } for(let i = 0; i < firstType.selectedIndex; i++) { number /= AMOUNT; } firstInput.value = number; } // Запуск функций countFirstWeight и countSecondWeight при изменениях в инпутах firstInput.addEventListener("input", countFirstWeight); secondInput.addEventListener("input", countSecondWeight); firstType.addEventListener("input", countFirstWeight); secondType.addEventListener("input", countSecondWeight);