来自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%,写个工作流转发系统出来。
