$(document).ready(function () {
var innerhtml = '<option value="">学院</option>';
var innerhtmlMa = '<option value="">专业</option>';
var innerhtmlclass = '<option value="">班级</option>';
//入学时间变动
$("#starTime").click().change(function () {
$("#collegeName").empty().html(innerhtml);
$("#specialtyName").empty().html(innerhtmlMa);
$("#className").empty().html(innerhtmlclass);
zhuanyeyuanxi();
} );
//学院变动
$("#collegeName").change(function () {
$("#specialtyName").empty().html(innerhtmlMa);
$("#className").empty().html(innerhtmlclass);
zhuanyeyuanxi();
} );
//专业变动
$("#specialtyName").change(function () {
$("#className").empty().html(innerhtmlclass);
zhuanyeyuanxi();
});
}
var zhuanyeyuanxi = function () {
var startime = $("#starTime").val();
var Department = $("#collegeName").val();
var Major = $("#specialtyName").val();
var innerhtml = '<option value="">学院</option>';
var innerhtmlMa = '<option value="">专业</option>';
var innerhtmlclass = '<option value="">班级</option>';
$.ajax({
async: false,
type: "post",
url: "../../Handler/RegistAjax.ashx",
data: {
startime: startime,
Department: Department,
Major: Major,
methodname: "SelectDepartmentCode"
},
success: function (data) {
if ((startime != "" || startime != null) && (Department == "" || Department == null) && (Major == "" || Major == null)) {
$.each($.parseJSON(data), function (i, obj) {
innerhtml += "<option value=\"" + obj.ID + "\">" + obj.Name + "</option>";
});
$("#collegeName").empty().html(innerhtml);
} else if ((startime != "" || startime != null) && (Department != "" || Department != null) && (Major == "" || Major == null)) {
$.each($.parseJSON(data), function (i, obj) {
innerhtmlMa += "<option value=\"" + obj.ID + "\">" + obj.Name + "</option>";
});
$("#specialtyName").empty().html(innerhtmlMa);
}
else {
$.each($.parseJSON(data), function (i, obj) {
innerhtmlclass += "<option value=\"" + obj.ID + "\">" + obj.Name + "</option>";
});
$("#className").empty().html(innerhtmlclass);
}
},
error: function (err) {
// alert("未知错误,请稍后重试!");
}
}
);
}
上面的代码为Js中的代码利用ajax实现动态绑定。
<select class="am-input-sm " id="starTime" name="starTime">
<option value="1950">1950</option> <option value="1951">1951</option> <option value="1952">1952</option></select><option selected="selected" value="">入学时间</option>
上面的代码为html中的代码。<div> <select class="am-input-sm" id="collegeName" name="collegeName"> <option selected="selected" value="">学院</option> </select> </div> <br /> <div> <select class="am-input-sm" id="specialtyName" name="specialtyName"> <option value="">专业</option> </select> </div> <br /> <div> <select class="am-input-sm" id="className" name="className"> <option value="">班级</option> </select> </div>
/// <summary> /// 查询班级院系一般处理程序 /// </summary> public void SelectDepartmentCode() { string msg = string.Empty; var asd = "aaa"; var startime = context.Request.Params["startime"].ToString(); asd = startime.Substring(2, 2); string Department = context.Request.Params["Department"]; string Major = context.Request.Params["Major"]; DepartmentController dts=new DepartmentController(); DataTable dt = dts.GetDepartment(startime.Substring(2, 2).ToString(), Department, Major); msg = JsonConvert.SerializeObject(dt); context.Response.Write(msg); }
/// <summary> /// 获取专业院系列表 2016/12/13 /// </summary> /// <param name="startime">年份</param> /// <param name="Department">学院</param> /// <param name="Major">专业</param> /// <returns></returns> public DataTable GetDepartment(string startime, string Department, string Major) { string sql = string.Format(@"SELECT ID,Name FROM [dbo].[T_DepartmentClass] where IsDelete=0 "); if (!string.IsNullOrEmpty(startime) && string.IsNullOrEmpty(Department) && string.IsNullOrEmpty(Major)) { sql += string.Format(@" and DepartmentMajorID=(select top 1 ID from [dbo].[T_DepartmentClass] where type=0 and name like '%{0}%') ", startime); } else if (!string.IsNullOrEmpty(Department) && !string.IsNullOrEmpty(startime) && string.IsNullOrEmpty(Major)) { sql += string.Format(@" And DepartmentMajorID='{0}'", Department); } else if (!string.IsNullOrEmpty(Major) && !string.IsNullOrEmpty(Department) && !string.IsNullOrEmpty(startime)) { sql += string.Format(@" And DepartmentMajorID='{0}'", Major); } DataTable dt = base.ExecuteDataTable(sql); return dt; }
上面的代码为C#查询
下图为数据库中的表
SELECT TOP 1000 [ID] ,[Name] ,[DepartmentMajorID] ,[Education] ,[Type] ,[Year] ,[Icon] ,[GroupID] ,[Order] ,[ModifyUser] ,[CrateDate] ,[Creator] ,[ModificationDate] ,[IsDelete] ,[TopTime] ,[IsTop] ,[Sort] ,[yuanxi] ,[zhuanye] FROM [BHG_QtxApp].[dbo].[T_DepartmentClass]
在js中select取值问题:
//专业名称 var specialtyName = trim($("#specialtyName option:selected").text()); var specialtyNameId = $("#specialtyName option:selected").val(); //学院名称 var collegeName = trim($("#collegeName option:selected").text()); var departmentID = $("#collegeName option:selected").val();