我有一个脚本,提供从数据库中提取的几种不同的信息视图。第一个仅显示每月销售的给定产品的数量,第二个显示销售额,第三个显示利润,最后一个包括使用利润和销售额计算的百分比。我目前使用查询字符串来显示此信息,如下所示。
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>
答案 0 :(得分:1)
问题出在你的onchange
处理程序上:
if($(this).val() && $(this).val()>0){
您的值不是数字而是字符串(“数量”,“销售额”等)。试试这个:
if($(this).val() && $(this).val() !== ''){