我想刷新一个datepicker小部件。如果用户按下例如“按钮1”,则日期选择器应具有一组特定属性,而如果他按下“按钮2”,则日期选择器应具有不同的属性集。
我怎样才能实现这个目标?
可在此处找到一些概念代码证明:http://jsfiddle.net/5zyLg/1/
$("#booking_calendar").datepicker({
autoSize: false,
dateFormat: 'dd/mm/yy',
firstDay: 1,
altField: "#date",
altFormat: "yy-mm-dd",
minDate: 0,
maxDate: "2W"
);
// VIRTUAL CLICK EVENT GOES HERE
$("#booking_calendar").datepicker({
autoSize: false,
dateFormat: 'dd/mm/yy',
firstDay: 1,
altField: "#date",
altFormat: "yy-mm-dd",
minDate: 0,
maxDate: "3W"
);
$("#booking_calendar").datepicker("refresh");
^这是一般的想法,虽然它不起作用
答案 0 :(得分:1)
尝试'刷新'方法:http://api.jqueryui.com/datepicker/#method-refresh
$( ".selector" ).datepicker( "refresh" );
答案 1 :(得分:1)
只需使用option
command更改设置
$("#booking_calendar").datepicker('option', 'maxDate', '10W');
而不是使用1和2并在代码中创建if
,如果添加更多选项可能会变得复杂,请使用指示周数的data
属性
<div class="booking_search_cat lightgrey active" data-weeks="2W">
<p>Group room</p>
</div>
<div class="booking_search_cat lightgrey" data-weeks="10W">
<p>Lecture room</p>
</div>
并使用
$("#booking_calendar").datepicker('option', 'maxDate', $(this).data('weeks') );
答案 2 :(得分:0)
是否要刷新datepicker小部件或根据按下按钮为小部件设置不同的值?我假设基于按钮按下的值不同,因为你提到“datepicker应该有一组特定的属性”
在这种情况下使用
$( ".selector" ).datepicker( "setDate", "10/12/2012" );