asp+ajax+MSSQL怎么实现无刷新多级联动,求关键代码

terchy 2010-04-22 10:36:24
'这是一个用asp,mssql的人事管理系统,现在我要实现一个多级下拉菜单,中间要动态调用数据库的数据

<select name="select1" id="select1"><option value=''>请选择职责</option></select>
<select name="select2" id="select2"><option value=''>请选择类别</option></select>
<select name="select3" id="select3"><option value=''>请选择职务</option></select>
<select name="select4" id="select4"><option value=''>请选择职称</option></select>
<select name="select5" id="select5"><option value=''>请选择职等</option></select>

职责分:责任制和非责任制.类别分:内勤人员,外勤人员和主管。
要求选择了责任制只能是外勤人员,选择了非责任制只能是内勤人员,然后下面再分下去
选择外勤人员只能对应(勤务人员,庶务人员,业务营销,售后服务),选择内勤人员只能是...(对应的职务)....
选择了勤务人员只能是哪些职称,选择了庶务人员只能是哪些职称...等等如此联动下去

请问这样的东西需要哪些技术,数据库中的表怎么设计?请写示例代码.如果要建表

//表一(职责):HR_base_zhizhe
//表二(类别):HR_base_class
//表三(职务):HR_base_zhiwu
//表四(职称):HR_base_zhicheng
//表五(职等):HR_base_zhideng

不要光说不练,不写示例代码者不给分,顶帖者有分,谢谢各位.小弟对JS,asp和简单的xmlhttp有看懂,但没学过jason,jquery等ajax框架..
...全文
255 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
fangzaixiang 2010-05-05
  • 打赏
  • 举报
回复
去看下jquery 文档,真的是很快就能上手的,试试
hhwydwfg 2010-05-01
  • 打赏
  • 举报
回复

Button1.Attributes.Add("onclick", "return QueryInformation()");

<script type="text/javascript" src="QueryInformation.js" ></script>





JS 文件:


var ajax;//XMLHttpRequest对象的变量名

//创建XMLHttpRequest对象
function createXMLHttpRequest()
{
//判断浏览器的种类
if(window.XMLHttpRequest)
{
ajax = new XMLHttpRequest();
}
else if (window.ActiveXObject)
{
try
{
ajax = new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e)
{
try
{
ajax = new ActiveXObject("Microsoft.XMLHTTP");
}
catch(e)
{
}
}
}
}

function CheckLogin()
{

//用户名、密码文本框
var TxtUserName=document.getElementById("Txt_UserName").value;
// alert(TxtUserName);

//创建XMLHttpRequest对象
createXMLHttpRequest();

//创建一个新的http请求,并指定此请求的方法、URL以及验证信息
ajax.open("POST","CheckUserName.ashx",true);

//指定当readyState属性改变时的事件处理句柄
ajax.onreadystatechange=function()
{
//返回XMLHTTP请求的当前状态
if(ajax.readyState==4)
{
//返回当前请求的http状态码
if(ajax.status==200)
{
//将响应信息作为字符串返回
var reptxt=ajax.responseText;
//alert(reptxt);
if(reptxt!="")
{
alert(reptxt);
}

}
else
{
alert(ajax.status);
}
}
}

//设置POST提交方式
ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
ajax.send("txt_username="+TxtUserName);
return false;
}
hhwydwfg 2010-05-01
  • 打赏
  • 举报
回复

Button1.Attributes.Add("onclick", "return QueryInformation()"); <script type="text/javascript" src="QueryInformation.js" ></script> JS 文件: var ajax;//XMLHttpRequest对象的变量名 //创建XMLHttpRequest对象 function createXMLHttpRequest() { //判断浏览器的种类 if(window.XMLHttpRequest) { ajax = new XMLHttpRequest(); } else if (window.ActiveXObject) { try { ajax = new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) { try { ajax = new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) { } } } } function CheckLogin() { //用户名、密码文本框 var TxtUserName=document.getElementById("Txt_UserName").value; // alert(TxtUserName); //创建XMLHttpRequest对象 createXMLHttpRequest(); //创建一个新的http请求,并指定此请求的方法、URL以及验证信息 ajax.open("POST","CheckUserName.ashx",true); //指定当readyState属性改变时的事件处理句柄 ajax.onreadystatechange=function() { //返回XMLHTTP请求的当前状态 if(ajax.readyState==4) { //返回当前请求的http状态码 if(ajax.status==200) { //将响应信息作为字符串返回 var reptxt=ajax.responseText; //alert(reptxt); if(reptxt!="") { alert(reptxt); } } else { alert(ajax.status); } } } //设置POST提交方式 ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); ajax.send("txt_username="+TxtUserName); return false; } ashx 文件: <%@ WebHandler Language="C#" Class="CheckUserName" %> using System; using System.Web; using System.Data.SqlClient; public class CheckUserName : IHttpHandler { public void ProcessRequest (HttpContext context) { context.Response.ContentType = "text/plain"; string txt_username = context.Request["txt_username"]; using (SqlConnection sqlcnn = new SqlConnection("Data Source=.;Initial catalog=voet;integrated security=true")) { sqlcnn.Open(); SqlParameter sqlparam = new SqlParameter(); sqlparam.ParameterName = "@txt_username"; sqlparam.DbType = System.Data.DbType.String; sqlparam.Value = txt_username; SqlCommand sqlcmm = new SqlCommand("select count(username) from logins where username=@txt_username", sqlcnn); sqlcmm.Parameters.Add(sqlparam); //sqlcmm.Parameters.AddWithValue("@txt_username", txt_username); int count = Convert.ToInt32(sqlcmm.ExecuteScalar()); sqlcnn.Close(); string result = count == 0 ? "数据库中不存在此用户名!" : "数据库中存在此用户名!"; context.Response.Write(result); } } public bool IsReusable { get { return false; } } }


羽蓝 2010-05-01
  • 打赏
  • 举报
回复
可以帮楼主顶……
huangchbao 2010-05-01
  • 打赏
  • 举报
回复
这具体代码没办法给,因为给你了你也不一定能用
大体思路告诉你吧
$(function()){
$("#select1").change(function(
$.post(路径,option里内容,function(json),json)
到你的servlet上把你查询回来的数据以JSON数据格式返回
$.each(json.function(i,data){
$("#select2").val(你传送回来的内容)
})
))
$("#select2").change(function(
思路同上,依次下去就实现了级联下拉
))
})
}
gest4 2010-04-23
  • 打赏
  • 举报
回复
有AJAX tookit 插件可实现,

52,797

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧