2012-05-16 10 views
5

私は自分のDBに追加する日付の範囲を "from"と "to"にしようとしています。私はaltFormatとaltFieldを使用して、Datepicker jquery UIコンポーネントを使用してUIに通常の日付形式を表示しながら、DB形式(yy-mm-dd)で日付を取得します。jqueryのUIでaltFormatとaltFieldを使用するdatepicker range

私の質問は、これを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); 
     } 
     }); 

を私はオプション= {オプション1:日付}にaltFieldオプションを追加しようとしたが、それは動作しません

答えて

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({}、...) 'の多くが見えます。 –

関連する問題