Попытка умножить несколько флажков и добавить, где есть несколько продуктов. Можно ли использовать оператор for в JQuery против числа строк в базе данных или он выполняется без него?
Я сократил код, который у меня был, до компактной версии, чтобы добавить флажки и умножить на множитель, равный POST
с предыдущей страницы.
теперь этот сценарий не будет работать ни для одного из продуктов и для поиска того, что может быть использовано для решения проблемы между клиентской стороной и серверным сценарием.
Я запутался в методе, необходимом для использования переменной php в функции jquery. Я думал об использовании onclick
для вызова функции для флажка, но я пытаюсь запустить это на DOM готов. Если кто-то и скажет мне в простейших терминах, как это возможно, я с радостью проведу дополнительные исследования.
<?php
//CONNECTION, QUERY AND MISC ///
$count = mysqli_num_rows($result);
$i = 1;
while ($row = mysqli_fetch_assoc($result))
{
$kilo1 = $row['kilo1'];
$kilo2 = $row['kilo2'];
$price1 = $row['price1'];
$price2 = $row['price2'];
$price3 = $row['price3'];
$price4 = $row['price4'];
$multiplier = 2;
$qri = "qr"."$i";
$userdaily = "userdaily"."$i";
$usertotal = "usertotal"."$i";
$pricef1 = "price1"."$i";
$pricef2 = "price2"."$i";
echo "<form enctype='multipart/form-data' name='contactform' method='POST' action='something.php'>";
echo "<input type='hidden' name='multiplier' id='multiplier' value='$multiplier'>";
echo "<input type='checkbox' name='checkbox1' id='$qri' value='$price1'>";
echo "<input type='checkbox' name='checkbox2' id='$qri' value='$price2'>";
echo "<input type='checkbox' name='checkbox3' id='$qri' value='$price3'
class='insure'>";
echo "<input type='checkbox' name='checkbox4' id='$qri' value='$price4'
class='insure'>";
echo "<input type='checkbox' name='checkbox5' id='$qri' value='$kilo1'
class='kilo'>";
echo "<input type='checkbox' name='checkbox6' id='$qri' value='$kilo2'
class='kilo'>";
/////TOTALS VISIBLE AND HIDDEN/////
echo "<span id='$userdaily'></span>";
echo "<span id='$usertotal'></span>";
echo "<input type='hidden' name='pricef1' id='$pricef1' value=''>";
echo "<input type='hidden' name='pricef2' id='$pricef2' value=''>";
echo "<input type='submit'>";
if($i%4==0 || $i == $count) echo '<br>';
$i++;
}
?>
<script>
$(function()
{
$("input.kilo").change(function()
{
$("input.kilo").not(this).prop("checked", false);
});
$("input.insure").change(function()
{
$("input.insure").not(this).prop("checked", false);
});
$(document).ready(function()
{
//get the values of the selected options
var counter = parseInt("<?php echo $count;?>");
for (i = 1; i <= counter; i++)
{
let v = $.map($("input[id^='qr+i+']:checked"), function(t)
{
return parseFloat($(t).val());
});
let s = v.reduce((a, b) => a + b);
//sum them up to a daily total
console.log(v);
$("#<?php echo $userdaily;?>").text('R' + s + '/day');
$("#<?php echo $usertotal;?>").text('R' + s *
parseFloat($("#multiplier").val()) + '/day');
$("#<?php echo $pricef1;?>").val(s);
$("#<?php echo $pricef2;?>").val(s * parseFloat($("#multiplier").val()));
}
});
});
</script>
У меня есть список товаров с ежедневной суммой и количеством дней, у каждого товара совершенно разные цены. Я попытался создать это в скрипке, и это работает найти без использования переменных, я понимаю, что Jquery и php отличаются в их использовании, и я не уверен, как обойти это.