我正在根据上面选择的下拉菜单显示下拉菜单。我想要第三个下拉列表中的结果。为此,我在sql
中编写php
查询,并在jquery中编写change事件,但是我无法获得结果。我被困在那里
我的jQuery看起来像
$(document).ready(function(){
$("#parent_cat,#city").change(function(){
$.get('loadlocation.php?city=' + $(this).val() , function(data) {
$("#sub_cat").html(data);
});
});
});
parent_cat和city来自选定的值
<label for="category">Category</label>
<select name="parent_cat" id="parent_cat">
<?php while($row = mysql_fetch_array($query_parent)): ?>
<option value="<?php echo $row['name']; ?>"><?php echo $row['name']; ?></option>
<?php endwhile; ?>
</select>
<br/><br/>
<label for="city">city</label>
<select name="city" id="city">
<?php while($row = mysql_fetch_array($query_parent1)): ?>
<option value="<?php echo $row['city']; ?>"><?php echo $row['city']; ?></option>
<?php endwhile; ?>
</select>
<br/><br/>
而我的php文件loadlocation.php是
<?php
include('config.php');
$parent_cat = $_GET['parent_cat'];
$city = $_GET['city'];
$query = mysql_query("SELECT table_place_detail.post_title FROM table_terms, table_place_detail, table_post_locations
WHERE table_place_detail.post_location_id = table_post_locations.location_id AND table_place_detail.default_category = table_terms.term_id AND table_post_locations.city = '$city' AND table_terms.name = '$parent_cat'");
while($row = mysql_fetch_array($query)) {
echo "<option value='$row[post_title]'>$row[post_title]</option>";
}
?>
我想将parent_cat,city的值提取到loadlocation.php,但我无法获取这些值。我想加载两个值并执行查询,这些值应在第3个下拉列表中显示,如下所示,任何一个都可以帮助解决此问题
<label>Vendors List 1</label>
<select name="sub_cat" id="sub_cat"></select>
最佳答案
两件事脱颖而出
您只发送一个值,?city=
根据手册jQuery.get()
,您可以将其他参数作为普通对象发送。这意味着,您无需构建查询字符串,但可以分别传递parent_cat
和city
,例如
$.get("loadlocation.php",
{ parent_cat: $('#parent_cat').val(), city: $('#city').val() },
function(data) {
$('#sub_cat').html(data);
});
最后,每个
mysql_*
页面上的强制性提示警告此扩展自PHP 5.5.0起不推荐使用,以后将被删除。相反,应使用MySQLi或PDO_MySQL扩展。另请参见MySQL:选择API指南和相关的FAQ,以获取更多信息。此功能的替代方法包括:
mysqli_query()
PDO :: query()