JQuery UI日历对话框未在日期控件上使用onchange事件进行选择时关闭

时间:2013-10-03 19:05:22

标签: javascript jquery jquery-ui

我的应用程序中有一些日期控件,并添加了一个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调用之间纠正这种竞争条件?

1 个答案:

答案 0 :(得分:0)

感谢Sam,onchange函数出错,因为它依赖于开始和结束日期。我没有写这个功能,所以没有意识到它们可能已连接。我不能承担竞争条件,再次感谢你帮助我!