1、简单做法:使用onchange触发页面重新加载,如取得下拉框的值后,重定向网址windowlocationhref = "searchtype="+下拉框的值
2、用ajax动态刷新用户列表区域,这种方法写起来稍有点麻烦
这个,其实比较简单
数据上来说,相当于是一个多维数组
比如,系 :
计算机,中文,英语
然后是专业:
计算机 -> 软件工程,xxx专业
中文 -> 汉语言文学,xxx专业
数据库在设计上,你可以将他们都放在一个表里面,可以有这些列
id 唯一id
name 名称,可以是专业名称,也可以是系名称
parent 指定如果是专业,是数据那个系,这里可以存成系的id,
如果是系,那么这里直接填0,表示就可以
这样的话,一个demo数据
id name parent
1 计算机系 0
2 软件工程 1
这样,上边,后台的数据就这个节奏就可以满足,如果专业还有细分,那这个结构也可以满足
前台显示的时候,这里分成俩个select来显示就可以
第一个select用来显示系,查询parent为0的数据,显示到select里面就可以
第二个select用来显示系的专业,查询的时候,将第一个select的系id拿到,直接数据库里面查询parent为第一个select选择系的id的数据
demo
选择系:<select id="department" onchange="change(this)"></select>
选择专业:
<select id="professional"></select>//用js读取数据,然后生成代码
//根据parentid,读取数据,然后返回
function getData(parentId , callback){
$ajax({
url : 'testdo',//后台数据地址
data : {parentId : parentId},//请求parentid的数据
success : function(result){
alert(result);
callback(result);
}
})
}
function renderOptions(arr , el){//生成select 的 option
elempty();
$each(data , function(index , item){
$('<option/>')attr({
value : itemid
})html(itemname)appendTo(el);
})
}
var department = $('#department');//系的select
getData(0 , function(data){//请求系的数据
departmentempty();
renderOptions(data , department);//这里生成系的select
});
var professional = $('#professional');//专业的select
function change(el){//当系变化的时候
var parentId = $(el)val();//这里得到选择的系的id
getData(parentId , function(data){
professionalempty();
renderOptions(data , professional );//这里生成专业的select
});
}
就是这样的原理
后台还需要一个查询,就是根据parentid查询数据,就可以了
用ASP吧,这个办法比较好,别人看不到源码,如果用JS,别人能看你的源码!
<select>
<%for nian=1900 to 2020%>
<option value="<%=nian%>"><%=nian%></option>
<%next%>
</select>
以上就是关于根据下拉框选择内容读取数据库内容并显示全部的内容,包括:根据下拉框选择内容读取数据库内容并显示、数据库+javascript+html如何实现多级select下拉菜单、js动态加载年份下拉列表框等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)