“Refreshing"JQuery日期拾取器小部件

"Refreshing" JQuery datepicker widget

本文关键字:小部 日期 JQuery Refreshing quot      更新时间:2023-09-26

我想刷新一个日期选择器小部件。例如,如果用户按下"按钮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");

^这是一般的想法,虽然它不工作

只需使用option命令更改设置

 $("#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') );
在<<p> 演示/strong> http://jsfiddle.net/gaby/5zyLg/2/

尝试'refresh'方法:http://api.jqueryui.com/datepicker/#method-refresh

$( ".selector" ).datepicker( "refresh" );

是刷新日期选择器小部件还是根据按下的按钮为小部件设置不同的值?我假设基于按钮按下一个不同的值,因为你提到"日期选择器应该有一组特定的属性"

在这种情况下使用

$( ".selector" ).datepicker( "setDate", "10/12/2012" );

裁判:http://api.jqueryui.com/datepicker/method-setDate