Сообщение от MC-XOBAHCK
|
первый вариант работал, проблем не вызывал
|
Первый вариант, это при каждом изменении в поле ввода обход DOM дерева с поиском в нем полей, что затратно. Сценарий при загрузке страницы такой поиск производит один раз и запоминает все поля ввода в переменной side. Остается по стилю текущего поля найти в этом кешированном JQ наборе "родственные" поля, что эффективнее.
Кроме того, в первом варианте шаблон рег. выражения будет корректно работать только в том случае, если имя класса описывающего парные поля ввода указано последним в списке, иначе будет возвращено все начиная с pair. Второй вариант лишен этого недостатка, имя класса парных полей может располагаться в начале, в середине, в конце списка.
По поводу
"калькулятор выдаёт результат после ввода двух значений". Перед передачей введенных значений в функцию расчета, значение пустого поля приравнивается к 0 (строка 049 кода). Исходным было то, что практически во всех расчетах присутствует умножение, и в случае пустых полей функция также вернет 0.
При выводе рассчитанных площадей в строке 055 кода проверка - если функция вернула значение, значит вывод площади, в противном случае пустая строка.
То есть нужно проверить логику расчета и наличие 0. Если нулевое значение поля на расчет не влияет (в любом случае будет значение), то требуется более расширенная проверка, например на заполнение всех полей.