如何修改我的jQuery脚本以添加数学函数并传递结果?

时间:2011-08-15 19:06:00

标签: php javascript jquery

你可以在这个小提琴http://jsfiddle.net/qSkZW/9/中找到我的jQuery,其值会根据你的下拉选择而改变。

我需要的是将所选数量乘以PHP变量。例如,当$price = '10';和数量选择3时,输出为30。

另外,如何将结果传递给下一页显示?

谢谢。

我要克隆的是您的购买系统https://www.groupon.com/deals/pizza-delight/confirmation?ms=false&pledge_id=538463,您可以在此处添加数量并获得最终价格。

5 个答案:

答案 0 :(得分:1)

 $("#quantity").change(function () {
     var str = $(this).val();
     $("#here").text(parseInt(str, 10) * <?php echo $price; ?>);
 }).change();

Your updated fiddle.

答案 1 :(得分:1)

最简单的方法是将php值存储在js变量中 - 您可以在js函数中引用它。例如...

<script>
var price = <?php echo $price ?>;
</script>

此外,您可以将php变量编码为json,以便轻松访问js。例如...

<?php

$products = array(
    'Hot socks' => array(
        'price' => 10,
        'description' => 'These socks are steaming HOT!',
    ),
    'Cool socks' => array(
        'price' => 20,
        'description' => 'The perfect treat for for feet on those hot summer days!',
    ),
);

?>

<script>

var products = <?=json_encode($products)?>;

alert('Please buy some hot socks @ ' + products['Hot socks'].price);

</script>

编辑:示例是围巾兼容

答案 2 :(得分:0)

您可以在javascript中回显页面:

<script>
    // some js above here
    php_val=<?php echo $price; ?>
    // some js that uses php_val down here
</script>

答案 3 :(得分:0)

您可以使用HTML5 custom attributes

<select data-price="10"> ... </select>

然后用jQuery获取它:

 $("#quantity").change(function () {
   var el = $(this);
   var str = el.val() * el.attr('data-price');
    $("#here").text(str);
 })
 .change();

将其存储在var price值不是一个好的解决方案,因为它没有指定选择元素。

答案 4 :(得分:0)

使用php:

直接将整数输出到脚本中
$("#quantity").change(function () {
    var price = parseInt($(this).val(), 10)*<?php echo $price; ?>
    $("#here").text(price);
}).change();

启用PHP 5.4或短标签:

var price = parseInt($(this).val(), 10)*<?=$price?>