首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何将php变量返回给Jquery函数进行乘法运算

如何将php变量返回给Jquery函数进行乘法运算
EN

Stack Overflow用户
提问于 2019-06-25 05:14:20
回答 1查看 120关注 0票数 0

尝试将多个复选框相乘并添加到有多个产品的地方。是否可以在jquery中对数据库中的行数使用for语句,或者让它在没有它的情况下运行?

我已经将代码简化为一个紧凑的版本,用来添加复选框并对乘数进行乘法运算,该乘数是上一页的POST。现在,这个脚本将不会在任何产品上运行,并且不知道可以使用什么来弥合客户端和服务器端脚本之间的问题。我对在jquery函数中使用php变量所需的方法感到困惑。我想使用一个onclick来调用一个被点击的复选框的函数,但是我试图在准备好DOM的情况下运行它。如果有人能用最简单的语言告诉我这是如何实现的,我将很乐意做更多的研究。

代码语言:javascript
复制
<?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在使用上是不同的,我不确定如何解决这个问题。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-25 08:59:23

正如treyBake提到的,如果您需要将信息从PHP传递到jQuery,再传递回PHP等等,那么可以使用隐藏的DOM元素并发出Ajax请求。

这也将允许您实时更新您的数据。

好的,举个例子,你可以在一个隐藏的输入中隐藏你的数字

代码语言:javascript
复制
<input type="hidden" value="<?php echo $count;?> " name="countrows" id="countrows"> 

现在,您可以在jQuery中检索:

代码语言:javascript
复制
var counter = $("#countrows").val();

使用is.checked获取选中复选框的值:

代码语言:javascript
复制
var x = $("#checkbox").is(":checked");
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56744029

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档