$(e[0].target); //实在看不懂,那位达人可否告知?
时间:2009-04-24
来源:互联网
<!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>通用型下拉框</title>
<script type="text/javascript" src="core/jquery.js"></script>
<script type="text/javascript">
//[email protected]
//by 令狐葱
// 扩展Function对象
Function.prototype.bind = function(scope, args){
var method = this;
if(args === undefined){
args = [];
}
return function() {
// for(var i=0;i<arguments.length;i++)
// alert(arguments);
return method.apply(scope, args.concat(arguments));
}
}
//联动下拉框
//config: {url:xml路径,el:父容器ID,root:根节点名,field:子节点名,text:显示文本,value:值}
//xml文件格式:<root><list id='' text=''></list></root>
linkSelect = function(config){
this.conf = config;
this.el = $('#' + config.el);
this.init();
}
var i=0;
linkSelect.prototype = {
init: function(){
this.el.append('加载中...');
$.get('xml/area.xml', this.callback.bind(this));
},
callback:function(result){
this.data = $(result).find(this.conf.root);
this.el.empty();
this.create(this.data.children());
},
create:function(data){
if(data.length == 0){return false;}
var select = $('<select style="width:65px"></select>').appendTo(this.el).change(this.change.bind(this));
var text = this.conf.text;
var value = this.conf.value;
data.each(function(){
var option = $('<option value='+$(this).attr(value)+'>'+$(this).attr(text)+'</option>').appendTo(select);
});
select.change();
},
change:function(e){
var select = $(e[0].target); //实在看不懂,那位达人可否告知?
var value = select.val();
var data = this.data.find(this.conf.field+'['+this.conf.value+'='+value+']').children();
this.remove(select);
this.create(data);
this;
},
remove: function(el){
var next = el.next('select');
if(next.length > 0){
next.remove();
this.remove(el);
}
}
};
$(document).ready(function() {
var selects = new linkSelect({
el: 'selects',
root: 'root',
field: 'list',
text: 'Text',
value: 'ID'
});
function abc(){alert("")};
$("#btn").bind("click", function(){abc();});
var test= new Object();
test.attar={
a:1,
al:function(){ alert(this.a);}
}
test.attar.al();
});
</script>
</head>
<body>
<p><b>通用性无限制联动下拉框</b></p>
<br />
<div id="selects"></div>
<input type="button" id="btn"/>
</body>
</html>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>通用型下拉框</title>
<script type="text/javascript" src="core/jquery.js"></script>
<script type="text/javascript">
//[email protected]
//by 令狐葱
// 扩展Function对象
Function.prototype.bind = function(scope, args){
var method = this;
if(args === undefined){
args = [];
}
return function() {
// for(var i=0;i<arguments.length;i++)
// alert(arguments);
return method.apply(scope, args.concat(arguments));
}
}
//联动下拉框
//config: {url:xml路径,el:父容器ID,root:根节点名,field:子节点名,text:显示文本,value:值}
//xml文件格式:<root><list id='' text=''></list></root>
linkSelect = function(config){
this.conf = config;
this.el = $('#' + config.el);
this.init();
}
var i=0;
linkSelect.prototype = {
init: function(){
this.el.append('加载中...');
$.get('xml/area.xml', this.callback.bind(this));
},
callback:function(result){
this.data = $(result).find(this.conf.root);
this.el.empty();
this.create(this.data.children());
},
create:function(data){
if(data.length == 0){return false;}
var select = $('<select style="width:65px"></select>').appendTo(this.el).change(this.change.bind(this));
var text = this.conf.text;
var value = this.conf.value;
data.each(function(){
var option = $('<option value='+$(this).attr(value)+'>'+$(this).attr(text)+'</option>').appendTo(select);
});
select.change();
},
change:function(e){
var select = $(e[0].target); //实在看不懂,那位达人可否告知?
var value = select.val();
var data = this.data.find(this.conf.field+'['+this.conf.value+'='+value+']').children();
this.remove(select);
this.create(data);
this;
},
remove: function(el){
var next = el.next('select');
if(next.length > 0){
next.remove();
this.remove(el);
}
}
};
$(document).ready(function() {
var selects = new linkSelect({
el: 'selects',
root: 'root',
field: 'list',
text: 'Text',
value: 'ID'
});
function abc(){alert("")};
$("#btn").bind("click", function(){abc();});
var test= new Object();
test.attar={
a:1,
al:function(){ alert(this.a);}
}
test.attar.al();
});
</script>
</head>
<body>
<p><b>通用性无限制联动下拉框</b></p>
<br />
<div id="selects"></div>
<input type="button" id="btn"/>
</body>
</html>
作者: seekarmor 发布时间: 2009-04-24
target 事件属性
定义和用法
target 事件属性可返回事件的目标节点(触发该事件的节点),如生成事件的元素、文档或窗口。
语法
event.target
定义和用法
target 事件属性可返回事件的目标节点(触发该事件的节点),如生成事件的元素、文档或窗口。
语法
event.target
作者: ggcall 发布时间: 2009-04-24
那e[0].target作何解呀?
作者: seekarmor 发布时间: 2009-04-24
就是得到当前select的option集合中当前的dom对象
作者: ggcall 发布时间: 2009-04-24
引用
引用第3楼ggcall于2009-04-24 14:09发表的 Re:$(e[0].target); //实在看不懂,那位达人可否告知? :
就是得到当前select的option集合中当前的dom对象
就是得到当前select的option集合中当前的dom对象
那它为什么要用e[0].target,而不用e.target呢????.
我试过了,换成e.target就出错!!
作者: seekarmor 发布时间: 2009-04-24
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28