单击JavaScript弹出框链接后激活jQuery函数

时间:2012-11-01 06:33:08

标签: php javascript jquery calendar popup

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

我需要在文本字段从JS日历弹出窗口收到日期后激活jQuery函数。

我尝试过更改,val,mouseup,mousedown,live等,但怀疑我需要从JS日历中侦听一个事件。有趣的是,这些操作中的每一个都是第二次单击日历时工作,而不是第一次(因此我单击日历日期并填充该字段,然后我再次单击它并选择另一个日期并运行jQuery函数)。 / p>

有什么想法吗?

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

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

3 个答案:

答案 0 :(得分:2)

我希望它可以帮到你:

HTML code:

    <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" />

答案 1 :(得分:0)

使用此

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

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

或者合并一个,

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

答案 2 :(得分:0)

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

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

当一个人改变输入值时,这将给出触发器。

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

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

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

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