2010-12-07 77 views
13

jquery-ui datepickerを使用して日付範囲の選択を行いたいとします。 #dteStartでの最初の変更は、minDateを#dteEndに設定するのに成功します。 #dteEndは、次の変更時にオプションを更新するのに失敗しました。 DateOptions.minDate dateMinに応じて値が変更されました。JQueryのUIでDatePickerのオプションを動的に変更できない

多分私はここで何かを欠場...

$(document).ready(function() 
{ 
    $("#dteStart").datepicker() 
    .change(function() 
    { 
     dateStart = $(this).datepicker('getDate'); 
     dateMin = new Date(dateStart.getTime()); 
     dateMin.setDate(dateMin.getDate() + 1); 

     var DateOptions = { 
      dateformat: "mm/dd/yyyy", 
      minDate: dateMin 
     } 
     $("#dteEnd").datepicker(DateOptions); 
    }); 
}); 

TIA、

REV

答えて

22

$("#dteEnd").datepicker(DateOptions);$("#dteEnd").datepicker("destroy");を入れて、それが正常に動作します。

+0

haa ..、ちょうど私が必要なもの..おかしい男.. – v14nt0

+0

私はこの回答に+2を与えることができたらいいなあ! – Siddhant

15

ちょうどすでに設定オプションを変更したい場合は、あなたも行うことができます。

$("#dteEnd").datepicker("option", DateOptions); 

または

$("#dteEnd").datepicker("option", { dateFormat: "mm/dd/yyyy" }); 
+0

あなたのコードを入力してください。 – Manuel

+2

例:$( ".publishdatepicker").datepicker( "option"、{yearRange: "-90:+1"}); – Pons

+0

2番目の行は、dateformatがdateFormat(大文字のFを使用している場合)のときにのみ動作します。 jQueryUI 1.10.2 –

1

を次のjQueryのヘルパー関数は、元のを維持するために、このような場合に有用である可能性がありますオプション:

$.fn.customizeDatepicker = function(newOptions) { 
    var prevOptions = $(this).datepicker('option', 'all'); 
    $(this).datepicker('destroy').datepicker($.extend(prevOptions, newOptions)); 
    return this; 
}; 

これは以前のオプションを保存し、新しいオプションで拡張します。

関連する問題