我的表单包含一个文本字段,该字段接受MM / DD / YYYY格式的日期。当您单击文本字段时,会出现一个小的JS日历,您可以单击日期并填充文本字段。
我需要在文本字段从JS日历弹出窗口收到日期后激活jQuery函数。
我尝试过更改,val,mouseup,mousedown,live等,但怀疑我需要从JS日历中侦听一个事件。有趣的是,这些操作中的每一个都是第二次单击日历时工作,而不是第一次(因此我单击日历日期并填充该字段,然后我再次单击它并选择另一个日期并运行jQuery函数)。 / p>
有什么想法吗?
$('#input_field_id').change(validate_function);
答案 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');
当从日历设置输入值时,它将触发更改事件,然后运行更改事件代码。