2012-05-16 145 views
5

我想要將日期範圍「from」和「to」添加到我的數據庫中。我使用altFormat和altField以DB格式(yy-mm-dd)捕獲日期,同時使用Datepicker jQuery UI組件在UI中顯示正常日期格式。在jQuery UI日期選擇器範圍中使用altFormat和altField

我的問題是:如何在Datepicker UI範圍中使用它。我可以在哪裏指定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選項選項= {選項1:日期},但不起作用

回答

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/

+0

感謝您的jsfiddle演示。我真的明白現在使用jquery.extend()。 – swordfish

+0

@swordfish:請記住'$ .extend'會修改它的第一個參數,所以你會看到很多'x = $ .extend({},...)'的東西。 –

相關問題