Как высчитать значения для каждого?

123
15 января 2021, 11:40

Есть такой код

<input name="itemName_0" value="Продукт №1" type="hidden">
<input name="itemQuantity_0" value="2" data-tinkoff-price="8400" type="hidden">
<input class="tnk__price" name="itemPrice_0" value="3000" type="hidden">

<input name="itemName_1" value="Продукт №2" type="hidden">
<input name="itemQuantity_1" value="1" data-tinkoff-price="11200" type="hidden">
<input class="tnk__price" name="itemPrice_1" value="3000" type="hidden">

<input name="itemName_2" value="Продукт№3" type="hidden">
<input name="itemQuantity_2" value="1" data-tinkoff-price="13000" type="hidden">
<input class="tnk__price" name="itemPrice_2" value="3000" type="hidden">

Как видно 3 раза повтоярется такая структура. Так вот у меня есть itemPrice - которая имеет value. Как можно высчитать для каждого value беря значения и предыдущего элемента tinkoff-price * quantyValue

Answer 1

В метках вижу jQuery, хотя это можно организовать простейшим JS. Используйте .each() - он позволяет запускать функцию для каждого элемента. А первый аргумент этой функции является номером данного элемента. Этот же номер можно использовать, чтобы достать значения других инпутов (т.к. они расположены группами, рядом и в одинаковом порядке)

$('.total').each(function( index ){ 
 
var qty = $('.itemqty').eq(index).val(); // Можно было и без переменных, прямо написать 
var tnk = $('.tnk__price').eq(index).val(); // но так нагляднее. 
$(this).val( qty * tnk  ); 
 
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> 
 
<input class="total" name="itemName_0" value="Продукт №1"> 
<input class="itemqty" name="itemQuantity_0" value="2" data-tinkoff-price="8400"> 
<input class="tnk__price" name="itemPrice_0" value="3000"> 
<br> 
<input class="total" name="itemName_1" value="Продукт №2"> 
<input class="itemqty" name="itemQuantity_1" value="1" data-tinkoff-price="11200"> 
<input class="tnk__price" name="itemPrice_1" value="3000"> 
<br> 
<input class="total" name="itemName_2" value="Продукт№3"> 
<input class="itemqty" name="itemQuantity_2" value="1" data-tinkoff-price="13000"> 
<input class="tnk__price" name="itemPrice_2" value="3000">

Но учитывая type="hidden" вам скорее массивы нужны, чем инпуты... какая задача в итоге стоит?)

READ ALSO
При входе на сайте через андроид предлагать скачать с play market

При входе на сайте через андроид предлагать скачать с play market

При входе на сайте через андроид смартфон, планшет предлагать скачать приложение с play market-а , как такое можно реализовать можете примерчик...

108
MomentJs время на 3 часа меньше приходит на почту

MomentJs время на 3 часа меньше приходит на почту

Почему-то при выборе времени, в state записывается выбранное, потом при отправке на почту доходит ровно на 3 часа меньшеstate: Thu May 30 2019 23:43:52 GMT+0300...

97
Скрыть содержимое div с помощью сss

Скрыть содержимое div с помощью сss

Всем приветЕсть див с содержимым интересует как его скрыть с помощью сss по клику на кнопку

166
Чем отличаются подключенные шрифты?

Чем отличаются подключенные шрифты?

Подключаю шрифт font-family: Gotham и пишу font-style normal и font-weight normal

112