jQuery datepicker多个onSelect

时间:2012-05-23 10:32:01

标签: jquery datepicker

我有两个onSelect函数,它们都是单独工作的,但是可以将它们组合起来吗?第一个将altField从DateTime转换为TIMESTAMP格式。第二个限制UI中的可选日期。我想我想为每个字段设置2个onSelect函数,但我找不到语法。任何帮助将不胜感激!

转换为TIMESTAMP:

$('#start_date').datepicker({
            inline: true,
            altField: 'input[name="event_start_date_min"]',
            altFormat: '@',
            onSelect : function(dateText, inst){
                    var epoch = $.datepicker.formatDate('@', $(this).datepicker('getDate')) / 1000;
                    $('input[name="event_start_date_min"]').val(epoch);
            }
        });
        $('#end_date').datepicker({
            inline: true,
            altField: 'input[name="event_start_date_max"]',
            altFormat: '@',
            onSelect : function(dateText, inst){
                    var epoch = ($.datepicker.formatDate('@', $(this).datepicker('getDate')) / 1000)+(60*60*24);
                    $('input[name="event_start_date_max"]').val(epoch);
            }
        });

限制日期:

$(document).ready(function(){
                $("#start_date").datepicker({
                    minDate: 0,
                    onSelect: function(selected) {
                      $("#end_date").datepicker("option","minDate", selected)
                    }
                });
                $("#end_date").datepicker({ 
                    minDate: 0,
                    onSelect: function(selected) {
                       $("#start_date").datepicker("option","maxDate", selected)
                    }
                });  
            });

1 个答案:

答案 0 :(得分:0)

您是否尝试过将它们组合起来?

$(document).ready(function(){

    $("#start_date").datepicker({
        minDate: 0,
        onSelect: function(dateText, inst) {
            $("#end_date").datepicker("option","minDate", dateText)

            var epoch = $.datepicker.formatDate('@', $(this).datepicker('getDate')) / 1000;
            $('input[name="event_start_date_min"]').val(epoch);
        }
    });

    $("#end_date").datepicker({ 
        minDate: 0,
        onSelect: function(dateText, inst) {
            $("#start_date").datepicker("option","maxDate", dateText)

            var epoch = ($.datepicker.formatDate('@', $(this).datepicker('getDate')) / 1000)+(60*60*24);
            $('input[name="event_start_date_max"]').val(epoch);
        }
    });  
});