如何在不提交表单的情况下获取<选项>变量


How to take the <option> variable without submitting form

我正在尝试获取一个<option>变量,以便我可以使用它来计算产品的总价格。

例如,<option>是物品的数量。我需要将其与价格相乘以获得总数。 总计将显示在与下拉列表相同的页面上。 如何将变量分配给选择选项?

<?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 交付到浏览器就无法运行。

有两种方法可以解决这个问题。您可以使用ajax(链接到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
    });
});