js二级联动菜单
来源:互联网 发布:危重孕产妇网络直报系 编辑:程序博客网 时间:2024/04/27 02:07
var Class = {
Create:function(){
return function(){
this.initialize.apply(this,arguments);
}
}
}
function $(objId){
return document.getElementById(objId);
}
var Selector = Class.Create();
Selector.prototype = {
initialize:function(source,target,url,onLoading){
this.source = $(source);
this.target = $(target);
this.url = url;
if(arguments.length > 3){
this.loadingAction = onLoading;
}
},
bind:function(){
var selector = this;
this.source.onchange = function(){
var value = this.options[this.selectedIndex].value;
selector.getAJAXResponse(selector.url,"value="+value);
}
},
getAJAXResponse:function(url,request){
var selector = this;
if(window.event){
var loader = new ActiveXObject("Microsoft.XMLHTTP");
}else{
var loader = new XMLHttpRequest();
}
loader.open("GET",url+"?"+encodeURI(request)+"&TimeStamp="+new Date().getTime(),true);
loader.onreadystatechange = function(){
if(loader.readystate == 1){
if(selector.loadingAction){
selector.loadingAction();
}
}
if(loader.readystate == 4){
selector.complete(loader.responseText);
}
}
loader.send();
},
complete:function(responseText){
//just like {names:[],values:[]}
this.target.options.length = 0;
eval("datas = " + responseText);
for(var i = 0; i < datas.names.length ; i ++){
this.target.options[i] = new Option(datas.names[i],datas.values[i]);
}
}
}
用法: new Selector("objectID1","objectID2","yoururl",function(){alert("test");}).bind();
萝卜原创
- js二级联动菜单
- js 二级联动菜单
- JS二级联动菜单
- js 二级联动菜单
- js二级联动菜单
- js二级联动菜单
- js 二级联动菜单
- js-----二级菜单联动
- JS省市二级联动菜单
- js 省市二级联动菜单
- js 实现 二级联动菜单
- js实现二级联动菜单
- html js 二级菜单联动
- js 省市二级联动菜单
- JS结合数据库的二级联动菜单
- 二级联动下拉菜单(js+DB)
- js客户端脚本二级联动下拉菜单
- js+jsp+mysql二级联动菜单
- AMD64 体系结构 学习笔记
- BSP培训入门
- 技巧
- WIN-CE 映像配置文件讲解
- 如何解决VS.NET无法调试项目问题?
- js二级联动菜单
- 浮躁
- WinForm设计之主窗体
- 一些委托事件的工作原理.两个不错的例子
- 开篇!
- 把想说的都说了.....................
- AJAX
- 安装Jdk+Tomcat+Apache+PHP+MySql (Windows) 详细介绍
- 狗嘴脱险