我在页面上动态生成了复选框。
我使用onchange
函数,它在Firefox中运行良好:
function setActionDate(cb_id,dt_id){
//alert(cb_id);
var cbox = document.getElementById(cb_id);
var ddate= document.getElementById(dt_id);
alert(cbox.value);
if (cbox.value == 'Y') {
ddate.className = "";
ddate.style.backgroundColor="#ffe6e6";
ddate.placeholder = "Select Date";
} else if (cbox.value == 'N'){
ddate.value = "";
ddate.className = "disabled";
ddate.style.backgroundColor="";
ddate.placeholder = "";
}
}
我在这里读到,IE对onchange
事件的处理方式不同,最好使用onclick
函数。但是我绝对需要使用 oncahnge
功能。
有没有办法解决IE和Chrome的问题?
答案 0 :(得分:0)
我找到了解决问题的正确方法。 使用setTimeout函数解决了这个问题:
function setActionDate(cb_id,dt_id){
setTimeout(function() {
var cbox = document.getElementById(cb_id);
var ddate= document.getElementById(dt_id);
alert(cbox.value);
if (cbox.value == 'Y') {
ddate.className = "";
ddate.style.backgroundColor="#ffe6e6";
ddate.placeholder = "Select Date";
} else if (cbox.value == 'N'){
ddate.value = "";
ddate.className = "disabled";
ddate.style.backgroundColor="";
ddate.placeholder = "";
}
},100);
}