2014-07-22 172 views
0

我使用No Gray的日历,发现在http://www.nogray.com/calendar.php,我已经意识到我遇到的问题是由于当您单击相同的日期已被选中,它取消选择日期而不是重新选择它,如果它在表单中传递,则该字段的值为空。Javascript日历取消选择日期时再次选择日期而不是重新选择日期

我已经阅读了关于软件和选项的使用,我可以看到的唯一选项是可以帮助的是在http://www.nogray.com/api/calendar/is_selected.php处找到的“ng.Calendar.is_selected”,我不确定这是否正确,但即使在他们自己的网站上进行演示,它也以相同的方式工作,取消选择日期而不是重新选择日期。

我已经尝试了一切,但无法获得它执行的地方如果您单击已选择的同一日期,它不会取消选择日期并重新选择它。

这里的例子是http://www.nogray.com/example.php?ID=260

请问这是怎么做到的,因为我现在已经尝试了一个星期没有快乐。

预先感谢您。

+0

您好R A,非选择的日期是日程表标准设置。你想如何“重新选择日期”功能工作。 – NoGray

+0

我想要它,以便当您已经选择日期时,如果您在日历关闭后再返回,并再次选择该日期,则不会取消选择该日期,并且始终会有一个日期值用作表单中的日期始终是必需的,并且当您这样做时,它会取消选择日期并将输入字段留空。谢谢。 –

回答

1

这个例子可能会有所帮助,但用户将不能取消选择日期,除非他们清除输入字段。

<input id="forced_click_select" type="text"> 
<script src="PATH/TO/ng_all.js" type="text/javascript"></script> 
<script src="PATH/TO/components/calendar.js" type="text/javascript"></script> 
<script type="text/javascript"> 
ng.ready(function() { 
    var fcs_cal = new ng.Calendar({ 
     input: 'forced_click_select', 
     events: { 
      onDateClick: function(dt){ 
       this.select_date(dt); 
      } 
     } 
    }) 
}); 
</script> 

http://www.nogray.com/example.php?ID=307

+0

对不起,但这是行不通的。我希望这样,当你已经选择了一个日期时,如果你在日历关闭后再返回并再次选择该日期,它不会取消选择它,并且将始终有一个日期值用于表单中,因为日期是始终是必需的,并且当您这样做时,它会取消选择日期并将输入字段留空。目前我输入了:{date:'date1',month:'month1',year:'year1'},selected_date:new Date(),display_date:new Date(),dates_off:[{date:1,month:0 },{date:25,month:11}],然后是一个onSelect事件。谢谢 –

+0

Hi R A,上面的代码会在用户点击它后保留选择的日期,但如果用户清除输入字段,日期将被取消选择。在处理表单之前,您可能需要进行简单的验证。例如(使用上面的代码),'if(!ng.defined(fcs_cal.get_last_selected_date()))alert(“请选择一个日期”);' – NoGray

+0

如果你想要一个自定义版本的日历不取消选择,请通过http://www.nogray.com/contact.php与我们联系,我们将通过电子邮件向您发送更新文件。 – NoGray