在点击上个月和下个月的按钮时候,会出现按钮失效,页面没有报错。
按钮的事件是通过
$(":radio").each(function(){});
绑定的。
js是通过在底部引用js文件,在页面全部加载完成之后,点击下拉框会触发时间,将表格中的内容全部加载完毕,但是点击下一月的时候
function alertdate(){
$("#calendar").empty();
employeeId=$("#employee").val();
var employeeName=$("#employee option:checked").text();
renderhtml(); //对日历div中增加表格元素
showCalendarData(employeeId); //在表格中显示日期
bindEvent(); //对表格上方的上月下月绑定事件
}
function toNextMonth(){
var date=dateobj.getDate();
dateobj.setDate(new Date(date.getFullYear(),date.getMonth()+1),1)
showCalendarData(employeeId);
//$(":radio").click(radioclick);
//alertdate();
}
此时会执行toNextMonth函数,此函数中radio按钮是重新全部生成的,在之前绑定的radio onchange事件会全部失效。 此时需要重新进行绑定事件。
后将绑定事件的代码放进 showCalendarData(employeeId)函数末尾,此函数用来生成表格中的内容,在函数的最后会重新进行事件的绑定,从而解决该问题。