0

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

4

1 回答 1

0

感谢 Sam,onchange 函数存在错误,因为它依赖于 start 和 end dates。我没有编写函数,所以没有意识到它们可能是连接的。假设比赛条件我很糟糕,再次感谢您帮助我!

于 2013-10-03T19:27:57.340 回答