使用下拉菜单刷新页面

时间:2016-02-19 18:33:55

标签: javascript php jquery

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

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

我想要做的是实现一个包含四种报告类型的下拉菜单,选择后,更改URL并刷新页面以反映选择。我已经实现了菜单,并且我添加了一些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
        };?>
    }
});

块内的if语句用于其他目的的其他视图,与手头的事项无关。在将完成的文件上传到服务器后,我尝试从菜单中选择一个选项,但没有任何反应。我该怎么做才能解决这个问题?我想到的唯一另一件事是,我会在页面顶部为每个视图实现链接,但我认为这是一个糟糕的解决方案,看起来不会很好。

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

<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>

1 个答案:

答案 0 :(得分:1)

问题出在你的onchange处理程序上:

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

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

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