Javascript日历新实例工作不一致
Javascript calendar new instance not working consistently
所以我目前正在开发一个小型网站,其中包括一个旅馆预订系统。我一直在为这个网站的可用性日历工作,这是用Javascript制作的。可用性日历的目的是向成员显示该日期旅馆的可用性(这将从数据库中提取,很可能存储在JSON数组中),然后允许他们在界面上选择日期范围。在这个阶段,我已经有了基本的工作,但是当我调用函数changeMonth()在月份之间进行更改时,选择日期范围的能力,并使其自动更新适当的字段。
所以问题是,当我使用"<"answers">"按钮更改月份时,日历的新瞬间不会适当地更新字段。
function changeMonth(dir){
currMonth += dir;
if(currMonth > 11)currMonth = 6;
if(currMonth < 6)currMonth = 11;
$('#calendar_table').remove();
drawMonth(currMonth, 2014);
}
这是changeMonth()函数;到目前为止,我只想查看6月至11月。为了获得日历的新实例,我删除了之前的实例并绘制了一个新实例。最新版本的日历可在这里获得jsfiddle.net
我愿意接受替代方法的建议,以实现我目前正在更有效地完成的相同任务,我已经从jQuery UI中查看了Datepicker,但我无法找到实现我目标的方法。
问题是,如果您重新绘制日历,'a'上的事件侦听器会丢失。
改变:
$( "a" ).on( "click", function() { //...
为:
$( "#booking_calendar" ).on( "click", "a", function() { //...
演示:http://jsfiddle.net/hZssN/76/
引用自jQuery文档http://api.jquery.com/on/
事件处理程序仅绑定到当前选定的元素;他们必须在代码调用.on()时存在于页面上。要确保元素存在并且可以被选择,请执行event中的元素的文档就绪处理程序中的绑定页面上的HTML标记。如果新的HTML被注入到页面中,选择元素并在新HTML完成后附加事件处理程序放置到页面中。或者,使用委托事件来附加事件处理程序,如下所述。
- Javascript.getHours()工作不正常
- 当属性不一致时,如何根据属性对JS对象列表进行排序
- removeClass函数没有'工作不正常
- jQuery Ajax GET请求工作不正常
- Cordova ng路线工作不正常
- 更新属性工作不正常Meteor/MongoDB
- 为什么文本对齐:对;工作不正常
- Javascript作用域和Ajax调用;工作不正常
- JavaScript DOM insertBefore'工作不正常
- Angular Js布线工作不正常
- onmouseout函数工作不正常
- 承诺工作不正常
- Android和JavaScript解析API之间不一致
- Excel公式到Javascript,工作但不一致
- ExternalInterface返回到AS3在IE中不一致工作
- jquery编号验证工作不一致
- Window.location.reload (true)工作不一致
- 分页Ajax在Rails中工作不一致
- Javascript日历新实例工作不一致
- 显示/隐藏在 Jquery 图像映射上不一致的工作