在jquery UI datepicker范围内使用altFormat和altField

时间:2012-05-16 04:12:49

标签: jquery jquery-ui datepicker jquery-ui-datepicker

我正在尝试将“from”和“to”的日期范围添加到我的数据库中。我使用altFormat和altField以DB格式(yy-mm-dd)捕获日期,同时使用Datepicker jquery UI组件在UI中显示正常日期格式。

我的问题是:我如何在Datepicker UI范围内使用它。我在哪里可以为from和to datepickers指定altField?

http://jqueryui.com/demos/datepicker/#date-range

我的代码:

var dates = $( "#hotel_display_checkin_date, #hotel_display_checkout_date" ).datepicker({
        defaultDate: "+1w",
        changeMonth: true,
        numberOfMonths: 1,
        altFormat: "yy-mm-dd",
        altField: "#hotel_checkin_date",
        onSelect: function( selectedDate ) {
            var option1 = this.id == "hotel_display_checkin_date" ? "minDate" : "maxDate",

                instance = $( this ).data( "datepicker" ),
                date = $.datepicker.parseDate(
                    instance.settings.dateFormat ||
                    $.datepicker._defaults.dateFormat,
                    selectedDate, instance.settings ),
                    options = {option1: date}
            dates.not( this ).datepicker( "option", options );
        }
        });

我尝试将altField选项添加到options = {option1:date},但这不起作用

1 个答案:

答案 0 :(得分:11)

您的主要问题是您尝试在办理登机手续和退房日期使用相同的altField

altField: '#hotel_checkin_date'

如果你单独绑定它们:

var opts = {
    defaultDate: "+1w",
    changeMonth: true,
    numberOfMonths: 1,
    altFormat: "yy-mm-dd"
    onSelect: function(selectedDate) { ... }
};

$('#hotel_display_checkin_date').datepicker(
    $.extend({
        altField: '#hotel_checkin_date'
    }, opts)
);
$('#hotel_display_checkout_date').datepicker(
    $.extend({
        altField: '#hotel_checkout_date'
    }, opts)
);​

这样你就可以指定单独的altField,那么事情应该会更好。

演示:http://jsfiddle.net/ambiguous/bJ8bh/1/

相关问题