我在DHTMLX Calendar的输入字段中使用onChange时遇到了问题。
我用以下代码初始化代码:
jQuery(document).ready(function($){
var calendar;
calendar = new dhtmlXCalendarObject(["date"]);
calendar.hideTime();
calendar.setDateFormat("%d/%m/%Y");
$('.lightbox').lightbox();
$('#slider').cycle();
});
function checkDate() {
var date = $("[name='date']").val();
alert(date);
}在我使用的表单中:
<input type="text" name="date" id="date" onchange="checkDate();" />它应该是什么样子(以及如何使用JQuery UI日期选择器)一旦在输入字段中输入日期,onchange函数就会触发。然而,在本例中:此日历的onchange什么也不做。
我已经尝试将以下内容更改为:
jQuery(document).ready(function($){
var calendar;
calendar = new dhtmlXCalendarObject(["date"]);
calendar.hideTime();
calendar.setDateFormat("%d/%m/%Y");
calendar.attachEvent("onChange",function(date, state){
checkDate();
});
$('.lightbox').lightbox();
$('#slider').cycle();
});
function checkDate() {
var date = $("[name='date']").val();
alert(date);
}但onchange事件发生在输入日期之前,即当我单击输入字段时。
从DHTMLX更改到此JQuery的原因是DHTMLX日期选择器不支持所有平台(iPhone/iPad等),而DHTMLX支持。
发布于 2013-11-05 05:44:02
我认为这是日历从输入初始化时的一个错误,问题是一旦单击输入字段就会触发onChange事件(如果您console.log或打印日期参数,就会看到这一点),而不是当有真正的用户生成的更改时,我有相同的问题,您可以选择使用'onClick‘事件(这只在他们点击选择器时有效,而不是当他们手动更改日期时),或者使用JQUERY来捕获事件,因为您直接从输入字段获取日期,而不是日历发送的日期。
calendar.attachEvent("onClick",function(date){
checkDate();
});https://stackoverflow.com/questions/15915160
复制相似问题