JavaScript onchange的一个例子

来自http://tunps.com/javascript-onchange-example

如上图,需要做一个组合查询功能,“字段名”可能是一般的字符,也可能是日期,当选定的“字段名”是日期类型的时候,需要将“参数”里面的文本框加入一个“日期选择框”。

代码:

function addDatePickerClass()
{
    for(var i=0;i<d2 .options.length;i++){
        if(    (d2.options[d2.selectedIndex].innerHTML.indexOf("时间")>-1) ||
            (d2.options[d2.selectedIndex].innerHTML.indexOf("日期")>-1) ||
            (d2.options[d2.selectedIndex].innerHTML.indexOf("生日")>-1)
        )
        {
            text1.onclick=WdatePicker;
        }
        else
        {
            text1.onclick=null;
        }
    }
}
d2=document.getElementsByName("D2")[0];
text1=document.getElementsByName("text1")[0];
/*
if(window.attachEvent)
    d2.attachEvent('onchange',addDatePickerClass);
else
    d2.addEventListener('change',addDatePickerClass,false);
    */
d2.onchange=addDatePickerClass;

d2是“字段名” text1是“参数”
d2的onchange事件触发后调用addDatePickerClass函数,addDatePickerClass函数遍历options,查找关键字包含“时间”的option(也算是半自动化吧,囧。),如果是就调用datePicker函数,这个是别人写的日期控件,直接调用,非常方便。

本来打算使用attachEvent或者是addEventListener来监听事件的,onclick属性使用setAttribute(),但是发现IE貌似没反应了,调试了一下午,无果。左右用比较保守点的方法。至少firefox,opera,IE都兼容了。

我发现还是firefox比较好“服侍”,当然也和技术水平有关。

最近在看zend框架,确实很牛逼的说,准备看懂个50%,写个工作流转发系统出来。

About tunpishuang

just 4 fun·····
This entry was posted in 未分类 and tagged . Bookmark the permalink.

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>