Php 如何服用<;选项>;不提交表单的变量

Php 如何服用<;选项>;不提交表单的变量,php,options,Php,Options,我试图获取一个变量,以便使用它来计算产品的总价格 例如,是一个项目的数量。我需要它乘以价格得到总数。总计将显示在与下拉列表相同的页面上。如何将变量指定给select选项 <?php if ($product->quantity < $product->max) $q = $product->quantity; if ($product->quantity > $product->max) $q = $prodcut->max

我试图获取一个
变量,以便使用它来计算产品的总价格

例如,
是一个项目的数量。我需要它乘以价格得到总数。总计将显示在与下拉列表相同的页面上。如何将变量指定给select选项

<?php 
    if ($product->quantity < $product->max) $q = $product->quantity;
    if ($product->quantity > $product->max) $q = $prodcut->max;
    if ($product->quantity = $product->max) $q = $product->max;

    for($i=1; $i<=$q; $i++){ 
        echo '<option value="'.$i.'">'.$i.'</option><br/>';
    }
?> 

如果我理解正确,您希望能够在页面上动态显示项目小计吗

最好的方法是使用javascript(jQuery)。一旦页面在浏览器上呈现,它就不再在服务器端运行。PHP是一种服务器端编程语言,因此一旦HTML交付到浏览器,就无法运行

有两种方法可以解决这个问题。您可以使用(链接到jQuery的ajax函数)通过javascript将选项值发送到php脚本,该脚本将计算价格并将其发送回

然而,由于这是一个非常简单的计算,不需要服务器端编程,所以最好只在客户端完成。例如,在jQuery中

jQuery(document).ready(function($){
    $('select#qty').change(function(){
        var price = parseFloat($('input#price').val()); // hidden input with price in it
        var qty = parseInt($('select#qty').val()); // option selected with qty
        var total = price * qty; // calculate total
        $('div#total').text(total); // update the div showing the total
    });
});

对于服务器端计算,请使用Ajax;对于客户端计算,请使用JS/jQuery.PHP运行服务器端,您必须提交表单(或执行http请求)。你可能想看看Javascript。我应该把“#qty”id放在哪里,因为它根据所选的选项而变化?我不明白你在问什么。下面是一个JSFIDLE,它应该可以帮助您。很酷,很乐意帮忙。如果我回答了您的问题,请单击答案旁边的勾号,将其标记为已接受的答案。:)