jQuery datepicker在运行中设置选定的日期

Sab*_*bya 114 jquery-ui datepicker

如何动态动态更改jquery日期选择器的选定日期?我说创建了一个内联日期选择器.然后过了一段时间,我想在那里反映一个不同的日期而不从头开始重新创建日期选择器.

我试过的setDate方法,但没有工作,并没有在多文档文档.

还有一个(扩展?)插件在这里,但我想用它随jquery.ui.all.js插件.

Ben*_*ler 175

您使用的是哪个版本的jQuery-UI?我已经用1.6r6,1.7和1.7.1测试了以下内容,它的工作原理如下:

//Set DatePicker to October 3, 2008
$('#dateselector').datepicker("setDate", new Date(2008,9,03) );
Run Code Online (Sandbox Code Playgroud)

  • 如果setDate不起作用,请使用defaultDate而不是setDate. (15认同)
  • 但对我而言,它无论如何都没有工作.更改了.但选择的日期没有出现在日历中.它只在今天突出显示我. (7认同)

cfw*_*all 27

如果设置了minDate或maxDate选项,请检查您尝试将其设置的日期位于允许的日期范围内.


Vla*_*den 10

此示例显示如何在下拉日历中使用默认值和文本框中的值.它还显示如何将默认值设置为上一个日期.

selectedDate是另一个保存日历控件当前所选日期的变量

    var date = new Date();
    date.setDate(date.getDate() - 1);

    $("#datepicker").datepicker({
        dateFormat: "yy-mm-dd",
        defaultDate: date,
        onSelect: function () {
            selectedDate = $.datepicker.formatDate("yy-mm-dd", $(this).datepicker('getDate'));
        }
    });

    $("#datepicker").datepicker("setDate", date);
Run Code Online (Sandbox Code Playgroud)


小智 7

注意到对于DatePicker by Keith Wood(http://keith-wood.name/datepickRef.html),以下工作 - 注意默认日期的设置是最后的:

    $('#datepicker').datepick({
        minDate: 0,
        maxDate: '+145D',
        multiSelect: 7,
        renderer: $.datepick.themeRollerRenderer,
        ***defaultDate: new Date('1 January 2008')***
    });
Run Code Online (Sandbox Code Playgroud)


Gui*_*dre 6

出于某种原因,在某些情况下我无法使setDate工作.

我找到的解决方法是简单地更新给定输入的value属性.当然,datepicker本身不会更新,但如果您只是要显示日期,它可以正常工作.

var date = new Date(2008,9,3);
$("#your-input").val(date.getMonth()+"/"+date.getDate()+"/"+date.getFullYear());
// Will display 9/3/2008 in your #your-input input
Run Code Online (Sandbox Code Playgroud)

  • 有几个月关闭,所以你需要(date.getMonth()+ 1) (6认同)

Ole*_*iuk 6

$('.date-pick').datePicker().val(new Date()).trigger('change')
Run Code Online (Sandbox Code Playgroud)

最后,这就是我过去几个小时所寻找的!我需要启动更改,而不仅仅是在文本字段中设置日期!

  • 它应该是`.datepicker()`而不是`.datePicker()` (5认同)

Sur*_*lai 5

这是一个旧线程,但我只想提供一些我如何使用的信息。如果您想设置今天的日期,您可以简单地应用它,如下所示。

 $("#datepickerid").datepicker("setDate", "0");
Run Code Online (Sandbox Code Playgroud)

如果您想设置当前日期之前/之后的几天,请使用-/+您想要的天数符号,如下所示。

 $("#datepickerid").datepicker("setDate", "-7");
 $("#datepickerid").datepicker("setDate", "+5");
Run Code Online (Sandbox Code Playgroud)