【问题标题】:How to take the <option> variable without submitting form如何在不提交表单的情况下获取 <option> 变量
【发布时间】:2012-07-05 09:11:51
【问题描述】:

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

例如&lt;option&gt; 是项目的数量。我需要将其与价格相乘才能得到总数。总数将显示在与下拉列表相同的页面上。如何将变量分配给选择选项?

<?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/>';
    }
?> 

【问题讨论】:

  • 服务器端计算使用Ajax,客户端使用JS/jQuery。
  • PHP 在服务器端运行,您必须提交表单(或执行 http 请求)。你可能想看看 Javascript。

标签: php options


【解决方案1】:

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

最好的方法是使用 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
    });
});

【讨论】:

  • 我应该把 '#qty' id 放在哪里,因为它的变化取决于所选的选项?
  • 我不明白你在问什么。这是一个 jsfiddle 应该可以帮助你。 jsfiddle.net/9bjy5
  • 酷,乐于助人。如果我回答了您的问题,请单击答案旁边的勾号,以将其标记为已接受的答案。 :)
猜你喜欢
  • 2016-12-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-09
  • 1970-01-01
  • 2019-12-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多