Misha74rus
@Misha74rus

Как упростить код на JavaScript?

Пользователь вводит количество проданных кофе за весь день
по формуле ( кофе1_мл * кофе1_колличество)+(кофе2_мл*кофе2_колличество).....(кофе3_мл..)= "Вы израсходовали всего"+ itogoml +" мл";

если будет 100 позиций,как мне упростить код до цикла или сделать его проще?

<input type="hidden" id="cofe1"  value="1.50">
<input type="hidden" id="cofe2" value="3.40">
<button onClick="jQuery('#N1').val(parseInt(jQuery('#N1').val())-1);jQuery('#N1').change();">-</button>
<input type="number" id="N1" value="0" placeholder="Колличество проданных шт">
<button onClick="jQuery('#N1').val(parseInt(jQuery('#N1').val())+1);jQuery('#N1').change();">+</button>
<br>

<button onClick="jQuery('#N2').val(parseInt(jQuery('#N2').val())-1);jQuery('#N2').change();">-</button>

<input type="number" id="N2" value="0" placeholder="Колличество проданных шт">
<button onClick="jQuery('#N2').val(parseInt(jQuery('#N2').val())+1);jQuery('#N2').change();">+</button>
<button onClick="raschitat();">Рассчитать стоимость</button>
<div id="vsegostuk"></div>
<div id="vsegoml"></div>
<div id="summaprod"></div>

<script type="text/javascript">
function raschitat() {
var a = parseInt(document.getElementById('N1').value);
var b = parseInt(document.getElementById('N2').value);
var c = a + b ;
document.getElementById('vsegostuk').innerHTML = a + " + " + b + " = " + c;


var cofe1 = parseFloat(document.getElementById('cofe1').value);
var cofe2 = parseFloat(document.getElementById('cofe2').value);
var itogoml = (cofe1 * a) + (cofe2 * b) ;
document.getElementById('vsegoml').innerHTML = "Вы израсходовали всего"+ itogoml +" мл";

summaprod = c * 10;
document.getElementById('summaprod').innerHTML = "Вы сегодня продали товаров на сумму "+ summaprod +" р";
}
</script>
  • Вопрос задан
  • 308 просмотров
Решения вопроса 1
Stalker_RED
@Stalker_RED
jsfiddle.net/8uow6n3y

Не совсем понятно зачем у вас дополнительные кнопки +/- возле input type=number, у него же встроенные есть:
dQ94Po.png

Если не станете их выбрасывать, то видимо придется добавить на minus проверку на отрицательные числа.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
alex-1917
@alex-1917
Если ответ помог, отметь решением
Или я ошибаюсь или автор половину не озвучил, но должно быть так:
1. выпадающий селект с типами кофе, там эти ваши 100 позиции
2. инпут для количества (или опять же селект, если количества целочисленные, хз, из вопроса неясно)
3. кнопка ВВОД выбранного варианта
4. кнопка ИТОГО
5. ВСЁ! )))

таким образом, оператор выбирает в селекте тип кофе, вводит кол-во, жмет ввод, затем повторяет сколько нужно раз, и в конце нажимает кнопку ИТОГО

скрипта там на 12 строк, могу накидать, когда время будет, так-то дел полно, как минимум вот именно сейчас коньяк греется
Ответ написан
Комментировать
msdos-x86
@msdos-x86
самоучка
А к чему parseInt и parseFloat, если дальше сложение и умножение идёт? Js сам сможет типы преобразовать
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
22 нояб. 2024, в 03:54
1500 руб./за проект
22 нояб. 2024, в 02:56
10000 руб./за проект
22 нояб. 2024, в 00:55
500 руб./за проект