我的MySQL表如下所示:
区域表
id | region
-------------------
1 | Region1
2 | Region2
...
和学校table
region_id | school
-------------------
1 | schno1
1 | schno5
1 | schno6
2 | scho120
我的页面是这样工作的:首先,页面从名为"regions"的数据库表中填充#regions选择菜单。当用户选择#region时,JS将所选区域的值发送到search.php。服务器端PHP脚本在名为"schools"的数据库表中搜索#region(先前选择的菜单)值,找到所有匹配项并回显它们。
现在的问题是,我如何隐藏#class和#school选择菜单,并且在没有找到匹配项时只显示错误消息"there is no school found in this region"?如何检查search.php是否没有结果?我是JS的初学者。
我的JavaScript看起来像这样:http://pastie.org/2444922和表单中的代码段:http://pastie.org/2444929和最后搜索。php:http://pastie.org/2444933
更新
我改变了我的JS,但没有成功。
$(document).ready(function(){
$("#school").hide();
$("#class").hide();
searchSchool = function(regionSelect){
var selectedRegion = $("select[name*='"+regionSelect.name+"'] option:selected").val();
if (selectedRegion!='0'){
$.ajax({
type: "POST",
url : "core/code/includes/search.php",
data: "®ion_id="+selectedRegion,
success: function(result, status, xResponse){
if (result!=null){
$("#school").show();
$("#class").show();
$("#school").html(result);
}else{
$("#error").html("There is no school found in this region");
$("#school").html('');
$("#school").hide();
}
},
error: function(e){
alert(e);
}
});
}else{
$("#error").html('Please select a region first');
$("#school").html('');
$("#school").hide();
$("#class").hide();
}
}
});
3条答案
按热度按时间0yycz8jy1#
你可以试试这个
首页
Search.php:
zxlwwiss2#
好吧,我不能完全通读你的全部代码,但我可以给予你一个模拟你可能想做什么。
将两个依赖项下拉唐斯都 Package 在div中。
现在在服务器端,如果你发现元素,在验证后创建一个下拉列表并发送到这里,或者只是发送一个错误消息。
你的js看起来像
2hh7jdfx3#
我认为这个问题存在于第27-30行的jQuery代码中。没有ID = cl_dropdown的元素,逗号分隔使它在sch_dropdown内部查找cl_dropdown。
我猜想第二个select曾经有一个id cl_dropdown,如果是这样,它的HTML应该如下所示:
您还应该有一个消息元素,根据jQuery,您应该有一个#no_sch元素,但我没有看到它。
然后将第27-30行替换为以下内容: