修改: this.toString = function(){
//根据输入参数,取得列表框对象集合
var pArr = this.dlts;
if(pArr.length != this.arrText.length)
throw new error(-1,"数据源arrText个数与列表框个数不一致!!");
if (pArr.length == 1)
this.dlts = document.getElementsByName(pArr[0]);
else
for(var i=0,j=pArr.length;i<j;i++)
this.dlts[i]=document.getElementById(pArr[i]);
//检查是否获得对象的引用
for(var i=0,j=this.dlts.length;i<j;i++)
if(this.dlts[i] == null)
throw new error(-1,"参数输入有误!/n无法根据参数取得列表框对象!");

//初始化列表框数据
this.initData();
//设置列表框的样式
this.setStyle();
//为列表框绑定事件.
this.attachEventForDlts();
}
关于日期的常见操作
http://community.csdn.net//Expert/TopicView2.asp?id=4360247&datebasetype=now
js FAQ贴
http://community.csdn.net//Expert/TopicView2.asp?id=4356360&datebasetype=now
DHTML手册,js手册,dom手册下载,梅花雪的树和日期控件
梅雪香的日期控件.
http://community.csdn.net//Expert/TopicView2.asp?id=4356325&datebasetype=now

解决方案 »

  1.   

    改后的toString()有问题
    throw new error ,error应该大写 Error

    if(pArr.length != this.arrText.length)
       throw new Error(-1,"数据源arrText个数与列表框个数不一致!!");
    这两行可以去掉了,因为按你的意思arguments是动态的,可以和arrText的个数不一样另外,数据的写法太麻烦了吧,不直观,建议修改一下,或可以由XML文件加载,
      

  2.   

    其实我这段代码是有适用范围的,比较适合于数据量不大,又是从数据库取数据的情况,构成这样的字符串并不难.arguments是动态的,不过并没有对index进行检查,在arrText中直接引用index,如果select数量大于arrText的长度的话,会返回null出错的.关于日期的常见操作
    http://community.csdn.net//Expert/TopicView2.asp?id=4360247&datebasetype=now
    js FAQ贴
    http://community.csdn.net//Expert/TopicView2.asp?id=4356360&datebasetype=now
    DHTML手册,js手册,dom手册下载,梅花雪的树和日期控件
    梅雪香的日期控件.
    http://community.csdn.net//Expert/TopicView2.asp?id=4356325&datebasetype=now
      

  3.   

    难道这就是传说中的梅花三弄第一弄?阿梅(我喊梅花雪叫大梅),HOHO,有没有其它好东东。
      

  4.   

    路过1.选中第一个框,点两下向下键(第三个选项选中),但是后面两个select的值好像不对
    2.当选项里有";"时,问题变得麻烦。----刚好前两天一个同事到另一个公司,碰到了这样的问题
      

  5.   

    to JK_10000(JK) 
       你说的对,我没有考虑选项的text里有冒号和分号的情况,如果确实存在的话,需要把代码的分隔标识改一下.如果有时间我会考虑一下如何解决这个问题的.