dhtmlx 扩展eXcell 实现多个超级链接

本文介绍了一个名为eXcell_link2的JavaScript函数,该函数可以实现在表格单元格中创建多个超链接的功能。作者提供了详细的代码实现,并解释了如何通过XML数据格式设置链接文本、URL地址及目标窗口等属性。
仿照eXcell_link 实现多个超级链接
/*
muti links
多个超级链接

@author wdz123@hotmail.com
@date 2009-01-19

The corresponding cell value in XML should be a "^" delimited list of following values:
1st - Link Text (or "img:image_src")
2nd - URL (optional)
3rd - target (optional, default is _blank)

Samples:
<cell>Stephen King</cell>
<cell>Stephen King^http://www.stephenking.com/</cell>
<cell>Stephen King^http://www.stephenking.com/^_self</cell>
<cell>text1,text2^http://news.sina.com.cn^ ^aaaa^http://news.21cn.com^</cell>
<cell>text1,text2^http://news.sina.com.cn^_self^aaaa^http://news.21cn.com^_blank</cell>
*/

function eXcell_link2(cell){
this.cell = cell;
this.myValue = "";
this.grid = this.cell.parentNode.grid;
this.edit = function(){}
this.getValue = function(){
if(this.cell.firstChild.getAttribute){
if(this.myValue!=""){
return this.myValue;
}
return this.cell.firstChild.innerHTML+"^"+this.cell.firstChild.getAttribute("href")
}
else
return "";
}
this.setValue = function(val){
var flag = true;
var valsAr = val.split("^");
this.myValue = "";
//alert('----valsAr.length===' +valsAr.length);

if(valsAr.length==1){
valsAr[1] = "";
}
else{
if(valsAr.length>1){
if(valsAr.length<4){
valsAr[1] = "href='"+valsAr[1]+"'";
}
if(valsAr.length==3)
valsAr[1]+= " target='"+valsAr[2]+"'";
else if(valsAr.length<3){
valsAr[1]+= " target='_blank'";
}
else if(valsAr.length>3){
this.myValue= val;
var i= valsAr.length % 3;
if(i>0){
i=1;
}
//alert('>3----valsAr.length====' +valsAr.length);
var j= (valsAr.length - valsAr.length % 3 )/3 + i;
var div = "";
var myTarget ="";
var k0,k1,k2;
for(var k=1;k<= j;k++){
k0 = (k-1)*3;
k1 = (k-1)*3+1;
k2 = (k-1)*3+2;
//alert('valsAr[k2]='+valsAr[k2])

if(!valsAr[k2]){
valsAr[k2] ="'_blank'";
}
else{
//alert('valsAr[k2]='+valsAr[k2]+"--xxx==" +valsAr[k2].length);
valsAr[k2] = valsAr[k2].replace(/(^\s*)/g, "");
// alert('valsAr[k2]='+valsAr[k2]+"--xxx==" +valsAr[k2].length);
if(valsAr[k2]==null || valsAr[k2]=='' ||valsAr[k2]==' ' ||valsAr[k2].length<1){
valsAr[k2] ='_blank';
}
valsAr[k2] ="'" +valsAr[k2] + "'";
}
if(k>1){
div = div + "   "
}
div = div + "<a href='" + valsAr[k1] + "' " ;
div = div + " target=" + valsAr[k2 ] + ">" + valsAr[k0] + " </a>"
}
this.setCValue(div,valsAr);
//alert('content=' + div);
flag = false;
// this.cell.innerHTML = '<div>' + div +'</div>';
}
}
}



if(flag){
this.setCValue("<a "+valsAr[1]+" onclick='(isIE()?event:arguments[0]).cancelBubble = true;'>"+valsAr[0]+"</a>",valsAr);
}
}
}

eXcell_link2.prototype = new eXcell;
eXcell_link2.prototype.getTitle=function(){
return this.cell.firstChild.getAttribute("href");
}
提供了一个基于51单片机的RFID门禁系统的完整资源文件,包括PCB图、原理图、论文以及源程序。该系统设计由单片机、RFID-RC522频射卡模块、LCD显示、灯控电路、蜂鸣器报警电路、存储模块和按键组成。系统支持通过密码和刷卡两种方式进行门禁控制,灯亮表示开门成功,蜂鸣器响表示开门失败。 资源内容 PCB图:包含系统的PCB设计图,方便用户进行硬件电路的制作和调试。 原理图:详细展示了系统的电路连接和模块布局,帮助用户理解系统的工作原理。 论文:提供了系统的详细设计思路、实现方法以及测试结果,适合学习和研究使用。 源程序:包含系统的全部源代码,用户可以根据需要进行修改和优化。 系统功能 刷卡开门:用户可以通过刷RFID卡进行门禁控制,系统会自动识别卡片并判断是否允许开门。 密码开门:用户可以通过输入预设密码进行门禁控制,系统会验证密码的正确性。 状态显示:系统通过LCD显示屏显示当前状态,如刷卡成功、密码错误等。 灯光提示:灯亮表示开门成功,灯灭表示开门失败或未操作。 蜂鸣器报警:当刷卡或密码输入错误时,蜂鸣器会发出报警声,提示用户操作失败。 适用人群 电子工程、自动化等相关专业的学生和研究人员。 对单片机和RFID技术感兴趣的爱好者。 需要开发类似门禁系统的工程师和开发者。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值