1

我的表单包含一个文本字段,它接受格式为 MM/DD/YYYY 的日期。单击文本字段时,会出现一个小的 JS 日历,您可以单击日期,它会填充文本字段。

在文本字段接收到来自 JS 日历弹出窗口的日期后,我需要激活一个 jQuery 函数。

我已经尝试过 change、val、mouseup、mousedown、live 等,但我怀疑我需要监听 JS 日历中的事件。有趣的是,这些操作在我第二次单击日历时起作用,但不是第一次(因此我单击日历日期并填充字段,然后再次单击它并选择另一个日期并运行 jQuery 函数)。

有任何想法吗?

$('#input_field_id').change(validate_function);

日历: http: //mattkruse.com/javascript/calendarpopup/

4

3 回答 3

2

我希望它可以帮助你:

HTML 代码:

    <label>Date:</label> <input type="text" id="date" />

头部脚本:

    <script>
        $(function() {
            $( "#date" ).datepicker();
        });
    </script>

并且还需要你包括一些:

    <link rel="stylesheet" href="http://code.jquery.com/ui/1.10.0/themes/base/jquery-ui.css" />
    <script src="http://code.jquery.com/jquery-1.8.3.js"></script>
    <script src="http://code.jquery.com/ui/1.10.0/jquery-ui.js"></script>
    <link rel="stylesheet" href="/resources/demos/style.css" />
于 2013-01-31T08:13:01.013 回答
0

用这个

$('.cpCurrentDate).bind('click',function(){
//your code here
});

$('.cpOtherMonthDate'').bind('click',function(){
//your code here
});

或者结合起来,

$('.cpCurrentDate, .cpOtherMonthDate').bind('click',function(){
//your code here
});
于 2012-11-01T06:45:19.080 回答
0

您必须将输入字段与更改事件绑定,就像您在示例中一样。

$('#dateField').bind('change', function(e) {
    var date = $(this).val();
    // validate your date
});

当输入值被人更改时,这将触发。

如果日期被注入输入字段,您必须触发该输入字段的更改事件。

$('#dateField').val(dateFromCal).trigger('change');

当从日历设置输入值时,它将触发更改事件,然后运行更改事件代码。

提供的示例:http: //jsfiddle.net/KEFAL/1/

于 2012-11-01T06:57:15.977 回答