为什么80%的码农都做不了架构师?>>>
几个简单小例子:
1.入门二级联动
2.二级联动
3.三级联动
4.简繁体转换
5.简单答题
6.创建课程表模板
这些例子有个共同的原理,就是有一个写好的参考数据模型,通过这个参考处理!什么参考,看下面!
一、最low的二级联动
我们运行下面的代码,引入jq类库
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>jq插件简单开发</title>
<script type="text/javascript" src="js/jquery-1.10.2.js"></script>
<script type="text/javascript">
$(function(){
//start
$(".one-1").change(function(){
var relval=$(this).val();
handle(relval);
});
function handle(relval){
switch(relval)
{
case '1':
$(".tow-1").show().siblings().hide()
break;
case '2':
$(".tow-2").show().siblings().hide()
break;
case '3':
$(".tow-3").show().siblings().hide()
break;
case '4':
$(".tow-4").show().siblings().hide()
break;
default:
$(".sel-two").children().hide();
;
}
};
//end
});
</script>
<style type="text/css">
*{ padding:0; margin:0}
html,body{ height: 100%; width: 100%; position: relative;}
</style>
</head>
<body>
<span class="sel-one">
<select class="one-1">
<option>请选择</option>
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
</select>
</span>
<span class="sel-two">
<select class="tow-1" style="display:none">
<option>1-1</option>
<option>1-2</option>
<option>1-3</option>
<option>1-4</option>
</select>
<select class="tow-2" style="display:none">
<option>2-1</option>
<option>2-2</option>
<option>2-3</option>
<option>2-4</option>
</select>
<select class="tow-3" style="display:none">
<option>3-1</option>
<option>3-2</option>
<option>3-3</option>
<option>3-4</option>
</select>
<select class="tow-4" style="display:none">
<option>4-1</option>
<option>4-2</option>
<option>4-3</option>
<option>4-4</option>
</select>
</span>
</body>
</html>
完全靠具体的分支判断去告诉要显示哪一个,如果少还可以,如果不是1-5而是20多个怎么办,估计这么写就累死,而且页面会有一大推select标签
二、二级联动流程实现
我引导大家这么去想:
1.页面存放一级的select标签,不过没有option内容,
2.一级select的option都是动态插入内容
3.内容我们放在一个数组里,如['请选择',1,2,3,4]
4.找到一级select循环插入这些内容,
5.给一级select加change事件,输出一级select内容
下面是引导后的代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>jq插件简单开发</title>
<script type="text/javascript" src="js/jquery-1.10.2.js"></script>
<script type="text/javascript">
$(function(){
//start
var onearr=["请选择",1,2,3,4];
$.each(onearr,function(i,ele){
$(".one-1").append('<option>'+onearr[i]+'</option>')
});
$(".one-1").change(function(){
var relval=$(this).val();
alert(relval)
});
//end
});
</script>
<style type="text/css">
*{ padding:0; margin:0}
html,body{ height: 100%; width: 100%; position: relative;}
</style>
</head>
<body>
<span class="sel-one">
<select class="one-1">
</select>
</span>
<span class="sel-two">
</span>
</body>
</html>
我是利用jq的$.each工具函数,大家用for是一样的,现在我们完成了一级的实现。
接下来的引导:
1.我们点击一级后,我要弹出和他相关的所有内容,
2.我们可以充实数组,把一维的变为多维数组,如下
["请选择",1,2,3,4] 改为
[["请选择",'no'],[1,[11,11]],[2,[21,22,23,24]],[3,[31,32,333]],[4,[41]]];
形成如此数组,我们知道给一级select添加内容就是 arr[0][0]遍历处理了
3.输出一级内容相关的关系内容
代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>jq插件简单开发</title>
<script type="text/javascript" src="js/jquery-1.10.2.js"></script>
<script type="text/javascript">
$(function(){
//start
var onearr=[["请选择",'no'],[1,[11,11]],[2,[21,22,23,24]],[3,[31,32,333]],[4,[41]]];
$.each(onearr,function(i,ele){
$(".one-1").append('<option>'+onearr[i][0]+'</option>')
});
$(".one-1").change(function(){
var relval=$(this).val();
$.each(onearr,function(i,ele){
if(onearr[i][0]==relval){
alert(onearr[i][1])
}
});
});
//end
});
</script>
<style type="text/css">
*{ padding:0; margin:0}
html,body{ height: 100%; width: 100%; position: relative;}
</style>
</head>
<body>
<span class="sel-one">
<select class="one-1">
</select>
</span>
<span class="sel-two">
</span>
</body>
</html>
除了一级内容为“请选择”时,其他点击选中弹出的内容就应该是我们二级select的option,大家已经可以发现
我们对代码进行动态节点插入操作:
排除第一项,就是onearr[i][0]的i等于0的不插入select
根据一级select的内容与数组作对比,如果相等
开始创建二级select,并且把相关的内容循环插入select
我们每次二级select插入前要先删除它,避免累计
为了结构的统一,我们把数组改成[["请选择",[]],[1,[11,11]],[2,[21,22,23,24]],[3,[31,32,333]],[4,[41]]];
没有的就让相关数组为空
完整代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>jq插件简单开发</title>
<script type="text/javascript" src="js/jquery-1.10.2.js"></script>
<script type="text/javascript">
$(function(){
//start
var onearr=[["请选择",[]],[1,[11,11]],[2,[21,22,23,24]],[3,[31,32,333]],[4,[41]]];
$.each(onearr,function(i,ele){
$(".one-1").append('<option>'+onearr[i][0]+'</option>')
});
$(".one-1").change(function(){
var relval=$(this).val();
$.each(onearr,function(i,ele){
if(onearr[i][0]==relval){
if(onearr[i][1].length==0){
$(".sel-two").children().remove();
}else{
$(".sel-two").children().remove();
var twosel=$("<select></select>")
$(".sel-two").append(twosel);
$.each(onearr[i][1],function(j,ele){
twosel.append('<option>'+onearr[i][1][j]+'</option>')
});
};
}
});
});
//end
});
</script>
<style type="text/css">
*{ padding:0; margin:0}
html,body{ height: 100%; width: 100%; position: relative;}
</style>
</head>
<body>
<span class="sel-one">
<select class="one-1">
</select>
</span>
<span class="sel-two">
</span>
</body>
</html>
三、三级联动
我们预览下面的二级联动,是不是有很相识的感觉
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>jq插件简单开发</title>
<script type="text/javascript" src="js/jquery-1.10.2.js"></script>
<script type="text/javascript">
$(function(){
//start
var onearr=[["请选择",[]],["河北省",["唐山市","石家庄"]],["河南省",["郑州市","开封市","洛阳市","平顶山市"]],["吉林省",["长春市","四平市","白山市"]],["北京市",["朝阳区"]]];
$.each(onearr,function(i,ele){
$(".one-1").append('<option>'+onearr[i][0]+'</option>')
});
$(".one-1").change(function(){
var relval=$(this).val();
$.each(onearr,function(i,ele){
if(onearr[i][0]==relval){
if(onearr[i][1].length==0){
$(".sel-two").children().remove();
}else{
$(".sel-two").children().remove();
var twosel=$("<select></select>")
$(".sel-two").append(twosel);
$.each(onearr[i][1],function(j,ele){
twosel.append('<option>'+onearr[i][1][j]+'</option>')
});
};
}
});
});
//end
});
</script>
<style type="text/css">
*{ padding:0; margin:0}
html,body{ height: 100%; width: 100%; position: relative;}
</style>
</head>
<body>
<span class="sel-one">
<select class="one-1">
</select>
</span>
<span class="sel-two">
</span>
</body>
</html>
选择省之后,关联出省所有的市,我们做的三级,就应该在二级市的选中后关联出县,没有的如北京不弹出
我们知道,我们的二级select是js添加,俗称脚本添加,这样的元素不能和一级select一样监听事件,要用过
delegate去处理,我们为了合理处理,修改如下:
1.数组 市加入“请选择”
2.给脚本添加的二级select添加事件测试
3.添加三级select容器
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>jq插件简单开发</title>
<script type="text/javascript" src="js/jquery-1.10.2.js"></script>
<script type="text/javascript">
$(function(){
//start
var onearr=[["请选择",[]],["河北省",["请选择","唐山市","石家庄"]],["河南省",["请选择","郑州市","开封市","洛阳市","平顶山市"]],["吉林省",["请选择","长春市","四平市","白山市"]],["北京市",["请选择","朝阳区"]]];
$.each(onearr,function(i,ele){
$(".one-1").append('<option>'+onearr[i][0]+'</option>')
});
$(".one-1").change(function(){
var relval=$(this).val();
$.each(onearr,function(i,ele){
if(onearr[i][0]==relval){
if(onearr[i][1].length==0){
$(".sel-two").children().remove();
}else{
$(".sel-two").children().remove();
var twosel=$('<select class="two-1"></select>')
$(".sel-two").append(twosel);
$.each(onearr[i][1],function(j,ele){
twosel.append('<option>'+onearr[i][1][j]+'</option>')
});
};
}
});
});
$(".sel-two").delegate(".two-1","change",function(){
alert("未来元素或者脚本添加元素监听事件")
});
//end
});
</script>
<style type="text/css">
*{ padding:0; margin:0}
html,body{ height: 100%; width: 100%; position: relative;}
</style>
</head>
<body>
<span class="sel-one">
<select class="one-1">
</select>
</span>
<span class="sel-two">
</span>
<span class="sel-three">
</span>
</body>
</html>
我们浏览页面,弹出二级下拉,选择选项出现了提示,提示部分就是我们三级弹出的代码位置
引导:
1.我们已经处理了一级,二级会补充数组,在增加一层数据结构
2.事件处理
我们对代码做二级处理就可以了,复制一级事件代码内容到二级事件内部,通过数组遍历和判断,
完整代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>jq插件简单开发</title>
<script type="text/javascript" src="js/jquery-1.10.2.js"></script>
<script type="text/javascript">
$(function(){
//start
var onearr=
[
["请选择",[]],
["河北省",
[["请选择",[]],
["唐山市",["玉田县","丰润县"]],
["石家庄",["穷死县","穷县"]]]],
["河南省",
[["请选择",[]],
["郑州市",["1县"]],
["开封市",[99]],
["洛阳市",[]],
["平顶山市",[]]]],
["吉林省",
[["请选择",[]],
["长春市",[]],
["四平市",[]],
["白山市",[]]]],
["北京市",
[["请选择",[]],
["朝阳区",[]]]]
];
$.each(onearr,function(i,ele){
$(".one-1").append('<option>'+onearr[i][0]+'</option>')
});
var twoindex=-1;
$(".one-1").change(function(){
var relval=$(this).val();
$.each(onearr,function(i,ele){
if(onearr[i][0]==relval){
if(onearr[i][1].length==0){
$(".sel-two").children().remove();
$(".sel-three").children().remove();
}else{
twoindex=i;
$(".sel-two").children().remove();
$(".sel-three").children().remove();
var twosel=$('<select class="two-1"></select>')
$(".sel-two").append(twosel);
$.each(onearr[i][1],function(j,ele){
twosel.append('<option>'+onearr[i][1][j][0]+'</option>')
});
};
}
});
});
$(".sel-two").delegate(".two-1","change",function(){
var tworelval=$(this).val();
$.each(onearr[twoindex][1],function(i,ele){
if(onearr[twoindex][1][i][0]==tworelval){
if(onearr[twoindex][1][i][1].length==0){
$(".sel-three").children().remove();
}else{
$(".sel-three").children().remove();
var threesel=$('<select class="three-1"></select>')
$(".sel-three").append(threesel);
$.each(onearr[twoindex][1][i][1],function(j,ele){
threesel.append('<option>'+onearr[twoindex][1][i][1][j]+'</option>')
});
};
}
});
});
//end
});
</script>
<style type="text/css">
*{ padding:0; margin:0}
html,body{ height: 100%; width: 100%; position: relative;}
</style>
</head>
<body>
<span class="sel-one">
<select class="one-1">
</select>
</span>
<span class="sel-two">
</span>
<span class="sel-three">
</span>
</body>
</html>
四、简繁体转换
var onearr=
[
["请选择",[]],
["河北省",
[["请选择",[]],
["唐山市",["玉田县","丰润县"]],
["石家庄",["穷死县","穷县"]]]],
["河南省",
[["请选择",[]],
["郑州市",["1县"]],
["开封市",[99]],
["洛阳市",[]],
["平顶山市",[]]]],
["吉林省",
[["请选择",[]],
["长春市",[]],
["四平市",[]],
["白山市",[]]]],
["北京市",
[["请选择",[]],
["朝阳区",[]]]]
];
我们搭建关联多维数组,利用这种数据结构,实现了联动,其实这算是比较复杂了,这种结构可以变化的,多级联动的结构有很多,可以采用更加直观,处理简单的结构,这样的算是一种很容易理解的结构创建!!!
简繁体转换是什么?就是把你写的正常文字(一般都是简体,有人奇葩),转为过去人用的文字。
实现就是:
转 ->轉
换-> 換
引导:
1.首先的有客户输入文字区域,那就是多行文本框就行,
2.js获取所有文字(这时候是一堆字符串)
3.从头到后遍历一次,转换???
这时候如果我们的js中有这样类型提供好的数据的话:
[['转','轉'],['换','換']];
我们把客户字符串遍历与数组每一项的第一个值作对比,相等把当前值改为这一项的第二个值就实现转换了
我们就用这只有2个字的做处理,代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>jq插件简单开发</title>
<script type="text/javascript" src="js/jquery-1.10.2.js"></script>
<script type="text/javascript">
$(function(){
//start
var jfchange=[['转','轉'],['换','換']];
$("#btn").click(function(){
var str=$("#jfchange").val();
var arrstr=str.split("");
var len=arrstr.length;
if($("#btn").html()=="转为繁体"){
$.each(arrstr,function(i,e){
$.each(jfchange,function(j,e){
if(jfchange[j][0]==arrstr[i]){
arrstr[i]=jfchange[j][1];
}else{
arrstr[i]=arrstr[i];
};
});
});
$("#jfchange").val(arrstr.join(""));
$("#btn").html("转为简体");
}else{
$.each(arrstr,function(i,e){
$.each(jfchange,function(j,e){
if(jfchange[j][1]==arrstr[i]){
arrstr[i]=jfchange[j][0];
}else{
arrstr[i]=arrstr[i];
};
});
});
$("#jfchange").val(arrstr.join(""));
$("#btn").html("转为繁体");
};
});
//end
});
</script>
<style type="text/css">
*{ padding:0; margin:0}
html,body{ height: 100%; width: 100%; position: relative;}
</style>
</head>
<body>
<textarea id="jfchange" style="width:500px; height:200px; border:1px solid #000;">
</textarea>
<button id="btn">转为繁体</button>
</body>
</html>
我们可以扩展简繁体的参考数据,这样就可以把更多文字转换了
这时候我们还可以想到一个相似效果,“汉字注音”。
五、简单答题处理
非常简单的处理,每次只显示一道题,选择结果后跳到下一道,答题完显示提交按钮,最后输出个统计
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>jq插件简单开发</title>
<script type="text/javascript" src="js/jquery-1.10.2.js"></script>
<script type="text/javascript">
$(function(){
//start
var ok=['a','b','c','a','a'];
var rel=[];
$(".dd").find("input").change(function(){
rel.push($(this).val());
var obj=$(this);
setTimeout(function(){
obj.parent().parent().parent().hide().next().show();
},400);
});
$("#ok").click(function(){
var count=0;
$.each(rel,function(i,e){
if(rel[i]==ok[i]){
count+=1;
}
});
alert("正确个数是"+count+"个")
})
//end
});
</script>
<style type="text/css">
*{ padding:0; margin:0}
html,body{ height: 100%; width: 100%; position: relative;}
</style>
</head>
<body>
<ul>
<li>
<p>1题</p>
<p class="dd">
<label><input type="radio" value="a"/>1</label>
<label><input type="radio" value="b"/>2</label>
<label><input type="radio" value="c"/>3</label>
</p>
</li>
<li style="display:none">
<p>2题</p>
<p class="dd">
<label><input type="radio" value="a"/>1</label>
<label><input type="radio" value="b"/>2</label>
<label><input type="radio" value="c"/>3</label>
</p>
</li>
<li style="display:none">
<p>3题</p>
<p class="dd">
<label><input type="radio" value="a"/>1</label>
<label><input type="radio" value="b"/>2</label>
<label><input type="radio" value="c"/>3</label>
</p>
</li>
<li style="display:none">
<p>4题</p>
<p class="dd">
<label><input type="radio" value="a"/>1</label>
<label><input type="radio" value="b"/>2</label>
<label><input type="radio" value="c"/>3</label>
</p>
</li>
<li style="display:none">
<p>5题</p>
<p class="dd">
<label><input type="radio" value="a"/>1</label>
<label><input type="radio" value="b"/>2</label>
<label><input type="radio" value="c"/>3</label>
</p>
</li>
<li style="display:none"><button id="ok">提交</button></li>
</ul>
</body>
</html>
六、创建课程表模板
一个课程表包含周和节次,创建模板就是创建周几到周几上课,有多少节次的表格
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>jq插件简单开发</title>
<script type="text/javascript" src="js/jquery-1.10.2.js"></script>
<script type="text/javascript">
$(function(){
//start
var weekcc= ['星期一','星期二','星期三','星期四','星期五'];
inittab(5,6,6,weekcc,4,2,0);
$(".updatatab-two").find("select").change(function(){
var am=zhuanInt($(".tabam").val());
var pm=zhuanInt($(".tabpm").val());
var ye=zhuanInt($(".tabye").val());
var rowb=parseInt(am)+parseInt(pm)+parseInt(ye);
weekcc=[];
$(".weekcon:checked").each(function(index) {
weekcc.push($(this).siblings("span").html());
});
var colb=$(".weekcon:checked").length;
$("#tablebox").remove();
inittab(colb,rowb,rowb,weekcc,am,pm,ye);
});
$(".weekcon").click(function(){
var am=zhuanInt($(".tabam").val());
var pm=zhuanInt($(".tabpm").val());
var ye=zhuanInt($(".tabye").val());
var rowb=parseInt(am)+parseInt(pm)+parseInt(ye);
weekcc=[];
$(".weekcon:checked").each(function(index) {
weekcc.push($(this).siblings("span").html());
});
var colb=$(".weekcon:checked").length;
$("#tablebox").remove();
inittab(colb,rowb,rowb,weekcc,am,pm,ye);
});
//end
});
//fun+++调用的几个方法 ++++++++++++++++
function inittab(colval,rowval,jieci,weekc,am,pm,ye){
var tabc="<table width='100%' border='0' cellspacing='0' cellpadding='0' class='tablebox' id='tablebox'></table>";
$("#tabgu").append(tabc);
for(var i=0;i<rowval+1;i++){
var trc="<tr></tr>";
$("#tablebox").append(trc)
};
for(var j=0;j<colval+1;j++){
var tdc="<td></td>";
$("#tablebox").find("tr").append(tdc);
};
for(ii=1;ii<=jieci;ii++){
$("#tablebox").find("tr").eq(ii).find("td").eq(0).html("第"+ii+"节");
};
for(jj=1;jj<=weekc.length;jj++){
$("#tablebox").find("tr").eq(0).find("td").eq(jj).html(weekc[jj-1]);
};
for(var i1=1;i1<=am;i1++){
$("#tablebox").find("tr").eq(i1).addClass("am");
};
var i2val1=parseInt(am)+1;
var i2val2=parseInt(am)+parseInt(pm);
for(var i2=i2val1;i2<=i2val2;i2++){
$("#tablebox").find("tr").eq(i2).addClass("pm");
};
var i3val1=parseInt(am)+1+parseInt(pm);
var i3val2=parseInt(am)+parseInt(pm)+parseInt(ye);
for(var i3=i3val1;i3<=i3val2;i3++){
$("#tablebox").find("tr").eq(i3).addClass("ye");
};
};
function zhuanInt(yuanval){
if(yuanval=="不上课"){
return 0;
}else{
return yuanval;
}
};
//fun end
</script>
<style type="text/css">
*{ padding:0; margin:0}
html,body{ height: 100%; width: 100%; position: relative;}
.wrapper{ width:1200px; margin:0 auto;}
.updatatab{ float:left; width:200px; background:#CCC;}
.tabcon{ float:left; width:800px;}
.tablebox{ border-collapse:collapse;}
.tablebox td{ border:1px solid #666; padding:20px;}
.updatatab-one label,.updatatab-two label{ display:block; margin:10px 5px;}
.am{ background:#fbf5e2;}
.pm{ background:#eef0f0;}
.ye{ background:#f8f7f4;}
</style>
</head>
<body>
<div class="wrapper">
<div class="updatatab">
<div class="updatatab-one">
<label><input type="checkbox" checked="checked" class="weekcon" /><span>星期一</span></label>
<label><input type="checkbox" checked="checked" class="weekcon" /><span>星期二</span></label>
<label><input type="checkbox" checked="checked" class="weekcon" /><span>星期三</span></label>
<label><input type="checkbox" checked="checked" class="weekcon" /><span>星期四</span></label>
<label><input type="checkbox" checked="checked" class="weekcon" /><span>星期五</span></label>
<label><input type="checkbox" class="weekcon" /><span>星期六</span></label>
<label><input type="checkbox" class="weekcon" /><span>星期日</span></label>
</div>
<div class="updatatab-two">
<label>上午<select class="tabam">
<option>不上课</option><option>1</option>
<option>2</option><option>3</option>
<option selected="selected">4</option>
<option>5</option><option>6</option>
</select>
</label>
<label>下午<select class="tabpm">
<option>不上课</option><option>1</option>
<option selected="selected">2</option>
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
</select>
</label>
<label>晚上<select class="tabye">
<option>不上课</option>
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
</select></label>
</div>
</div>
<div class="tabcon" id="tabgu">
</div>
</div>
</body>
</html>