Jquery On 更改函数仅在我使用 select box 将值传递给数据库文件时首先工作。但是当我更改所选框的值时,第一次才第二次工作。它不起作用为什么请帮助代码如下。
if(isset($package_sort ) && !empty($package_sort ))
{
switch ($package_sort) {
case "1000":
$sql = "SELECT * FROM package WHERE package_city='goa' AND package_price ORDER BY package_price ASC";
break;
case "160000":
$sql = "SELECT * FROM package WHERE package_city='goa' AND package_price <=".$_GET['package_sort']." ORDER BY package_price DESC";
break;
default:
echo "Your favorite color is neither red, blue, nor green!";
}
<script>
$(function(){
$(document).on('change', '#package_sort', function(){
var package_sort = $(this).val();
$.ajax({
url:"package-search.php",
method:"GET",
data:{package_sort:package_sort},
success:function(data){
$("#package_loading").fadeIn(500).html(data);
}
});
});
});
</script>
<div class="select-wrapper"><select name="package_sort1" id="package_sort" class="custom-select selectbox">
<option value="" disabled="disabled" selected="selected" hidden="hidden">Sort By</option>
<option value="1000" name="package_sort">Low to Height</option>
<option value="160000" name="package_sort">Height to Low</option>
</select></div>
您尚未定义变量$package_sort
。您还需要检查$_GET
是否设置
if(isset($_GET['package_sort']) && !empty($_GET['package_sort'] )){
$package_sort = $_GET['package_sort'];
switch ($package_sort) {
case "1000":
$sql = "SELECT * FROM package WHERE package_city='goa' AND package_price ORDER BY package_price ASC";
break;
case "160000":
$sql = "SELECT * FROM package WHERE package_city='goa' AND package_price <=".$_GET['package_sort']." ORDER BY package_price DESC";
break;
default:
echo "Your favorite color is neither red, blue, nor green!";
}
}