javascript - 使用下拉菜单刷新页面

标签 javascript php jquery

我有一个脚本,它提供从数据库中提取的信息的几种不同 View 。第一个仅显示每月销售的给定产品的数量,第二个显示销售额,第三个显示利润,最后一个包含使用利润和销售额计算的百分比。我目前使用查询字符串来显示此信息,如下所示。

if(isset($_GET["reporttype"])){
    if($_GET["reporttype"] == "sales"){
        $isSalesView = true;
    }
    //Other types are handled here
}

我想要做的是实现一个下拉菜单,其中包含四种报告类型,并在选择后更改 URL 并刷新页面以反射(reflect)选择。我已经实现了菜单,并且添加了一些 JS 代码:

$("#reportType").live("change",function(){
    if($(this).val() && $(this).val()>0){
        <?php
        if($isCustomerReport){?>
            location.href = "merchsalestemp.php?customerid=<?php echo $customerID; ?>&monthlyview=" + $(this).val();
        <?php
        }else if($isSingleItem){?>
            location.href = "merchsalestemp.php?itemid=<?php echo $itemID; ?>&monthlyview=" + $(this).val();
        <?php
        }else{?>                            
            location.href = "merchsalestemp.php?monthlyview=" + $(this).val();
        <?php
        };?>
    }
});

block 内的 if 语句用于与当前问题无关的其他目的的附加 View 。将完成的文件上传到服务器后,我尝试从菜单中选择一个选项,但没有任何反应。我可以做什么来解决这个问题?唯一想到的另一件事是我会在页面顶部为每个 View 实现链接,但我认为这是一个糟糕的解决方案,而且看起来不太好。

编辑:我忽略了包含下拉菜单代码。

<b>Select Report:</b> 
<select id="reportType" name="Option" style="width:250px; font-size:12px; margin-bottom:10px;">
    <option value="">Select report type</option>
    <option value="quantity">Monthly quantity</option>
    <option value="sales">Monthly sales</option>
    <option value="profit">Monthly profits</option>
    <option value="margin">Monthly gross margins</option>
</select>

最佳答案

看起来问题出在您的 onchange 处理程序上:

if($(this).val() && $(this).val()>0){

您的值不是数字,而是字符串(“数量”、“销售额”等)。试试这个:

if($(this).val() && $(this).val() !== ''){

关于javascript - 使用下拉菜单刷新页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35512456/

相关文章:

javascript - Bootstrap 下拉菜单不适用于 RequireJs

javascript - 选项卡和侧面菜单 - 状态链接不起作用

php - 输入值可以与 HTML 表单中的占位符相同吗?

PHP HTML Javascript 设计问题

php - 来自 MySQL 的数据属性值

javascript - jquery kwicks 问题

javascript - 如何使用 JavaScript 更改 CSS 伪类元素

php - JQuery POST 只向 mysql 添加一次记录

php - 正确的mysql查询来查询一个表并为另一个表查询提供信息

javascript - 我怎样才能改变这个网格上各个方 block 的颜色......?