我的应用程序中有一些日期控件,并添加了一个JQuery UI日历控件作为对话框图像选择器:
<input type="text" id="punchStartDate" class="EndDateClass" name="punchStartDate" />
以下是我添加日历控件的方法:
jQuery("input.EndDateClass").datepicker({
showOn: "button",
buttonImage: "../images/calendar.gif",
buttonImageOnly: true,
dateFormat: dateFormat.replace("DD", "dd").replace("D", "d").replace("MM", "mm").replace("M", "m").replace("yyyy", "yy"),
beforeShow: function (input, inst) {
if (jQuery(this).is(':disabled')) {
return false;
}
}
});
这很好用,但我有一些控件,我还添加了一个onchange事件。使用这些,日历控件仍然显示和填充输入,但是一旦选择了日期,对话框就不会消失。这只是定期发生,所以我怀疑是竞争状态。
以下是导致此内容的输入:
<input type="text" id="punchStartDate" class="EndDateClass" name="punchStartDate" onchange="CheckWeekdays.SetCheckBoxes('punch');" />
我怀疑onchange事件阻止了对话框的隐藏事件,但不确定如何解决这个问题。如何在竞争的javascript调用之间纠正这种竞争条件?
答案 0 :(得分:0)
感谢Sam,onchange函数出错,因为它依赖于开始和结束日期。我没有写这个功能,所以没有意识到它们可能已连接。我不能承担竞争条件,再次感谢你帮助我!