2013-04-06 3 views
1

У меня есть datepicker, что я хочу установить параметр defaultDate для 6, 12, 24 или 60 месяцев с сегодняшнего дня с помощью элемента select.JQueryUI set datepicker default date using select value value

У меня возникли проблемы, когда я изменяю выбранную опцию, используя элемент select, где значение элемента выбора не обновляется в DOM, поэтому datepicker использует выбранное значение, которое было загружено страницей.

Я сделал здесь скрипку http://jsfiddle.net/GLsTM/1/, чтобы вы могли видеть, о чем я говорю.

<form> 
<select name="Interval" id="Interval"> 
    <option value="6">6 Months</option> 
    <option value="12">12 Months</option> 
    <option value="24">2 Years</option> 
    <option value="60">5 Years</option> 
</select> 
<input type="text" class="date" placeholder="dd/mm/yyyy"></input> 

$(".date").datepicker({ 
     dateFormat: 'dd/mm/yyyy', 
     showOn: 'button', 
     firstDay: 1, 
     defaultDate: "+"+$("#Interval").val()+"m" 
    }); 

дата по умолчанию в DatePicker является '+ 6m', но если вы измените выбрать до 12 месяцев, DatePicker до сих пор использует 6 месяцев. Я хочу, чтобы он обновил datepicker с помощью defaultDate: '+ 12m'

Может ли кто-нибудь увидеть, что сделало бы эту работу?

Благодаря Грег

ответ

2

Изменения значения select будет влиять только выбор даты, если вы сообщите выбору даты, чтобы изменить. В противном случае он никогда не узнает об изменении, потому что вы устанавливаете его один раз, используя начальное значение.

$("#Interval").on("change", function() { 
    $(".date").datepicker("option", "defaultDate", "+" + $(this).val() + "m"); 
}); 

В качестве альтернативы, вы можете передать объект упаковывают вам когда-нибудь понадобится, чтобы отправить более одной option значение:

$("#Interval").on("change", function() { 
    $(".date").datepicker("option", { defaultDate: "+" + $(this).val() + "m" }); 
}); 
+0

Спасибо, но не кажется, работает. Я думаю, что имеет смысл, что это будет пытаться изменить параметр в элементе «.date» не в самой функции datepicker? Обновлен jsfiddle с вашим предложением здесь http://jsfiddle.net/GLsTM/2/. Значение по умолчанию не изменяется. – Barbs

+0

Извините, я использовал метод 'option' в' datepicker'. http://jsfiddle.net/GLsTM/3/ Я обновил этот пример, чтобы отразить соответствующее использование. – pickypg

+0

Отлично! Большое спасибо за вашу помощь. – Barbs