繁体   English   中英

使用jquery在datepicker中设置初始值?

[英]Set initial value in datepicker with jquery?

我正在尝试在我的jquery ui datepicker中设置初始值。 我尝试了几种不同的方式,但似乎没有任何东西显示日期,它是空的。

var idag = new Date();
$("#txtFrom").datepicker("setDate", idag - 2);
$("#txtTom").datepicker("setDate", idag);
$("#txtFrom").datepicker("refresh");
$("#txtTom").datepicker("refresh");

这个简单的例子对我有用......

HTML

<input type="text" id="datepicker">

JavaScript的

var $datepicker = $('#datepicker');
$datepicker.datepicker();
$datepicker.datepicker('setDate', new Date());

我能够通过简单地查看@手册并阅读setDate的解释来创建它:

.datepicker(“setDate”,date)
设置datepicker的当前日期。 新日期可以是Date对象或当前日期格式的字符串(例如'01 / 26/2009'),从今天开始的天数(例如+7)或一串值和句点('y'代表年,'m'持续数月,'w'持续数周,'d'持续数天,例如'+ 1m + 7d'),或为空以清除所选日期。

您可以在HTML中设置值,然后在init datepicker中设置该值以启动/突出显示实际日期

<input name="datefrom" type="text" class="datepicker" value="20-1-2011">
<input name="dateto" type="text" class="datepicker" value="01-01-2012">
<input name="dateto2" type="text" class="datepicker" >


$(".datepicker").each(function() {    
    $(this).datepicker('setDate', $(this).val());
});

以上甚至适用于丹麦日期格式

http://jsfiddle.net/DDsBP/2/

来自jQuery

如果该字段为空,请在第一次打开时设置要突出显示的日期。 通过Date对象指定实际日期,或者指定当前dateFormat中的字符串,或者从今天开始的天数(例如+7)或一串值和句点('y'表示年份,'m'表示月份, 'w'持续数周,'d'持续数天,例如'+ 1m + 7d'),或今天为null。

代码示例

使用指定的defaultDate选项初始化一个datepicker。

$(".selector").datepicker({ defaultDate: +7 });

在init之后获取或设置defaultDate选项。

//getter
var defaultDate = $(".selector").datepicker("option", "defaultDate");
//setter
$(".selector").datepicker("option", "defaultDate", +7);

在初始化datepicker之后,您还应该能够使用以下内容设置日期:

$(/*selector*/).datepicker("setDate" , date)

使用此代码它会对您有所帮助。

<script>
InitializeDate();
</script>




<input type="text" id="txtFromDate" class="datepicker calendar-icon" placeholder="From Date" style="width: 100px; margin-right: 10px; padding: 0px 0px 0px 7px;">
        <input type="text" id="txtToDate" class="datepicker calendar-icon" placeholder="To Date" style="width: 100px; margin-right: 10px; padding: 0px 0px 0px 7px;">


function InitializeDate() {
    var date = new Date();
    var dd = date.getDate();             
    var mm = date.getMonth() + 1;
    var yyyy = date.getFullYear();

    var ToDate = mm + '/' + dd + '/' + yyyy;
    var FromDate = mm + '/01/' + yyyy;
    $('#txtToDate').datepicker('setDate', ToDate);
    $('#txtFromDate').datepicker('setDate', FromDate);
}

使用setDate

.datepicker( "setDate" , date )

设置datepicker的当前日期。 新日期可以是Date对象或当前日期格式的字符串(例如'01 / 26/2009'),从今天开始的天数(例如+7)或一串值和句点('y'代表年,'m'持续数月,'w'持续数周,'d'持续数天,例如'+ 1m + 7d'),或为空以清除所选日期。

我不完全确定我是否理解了您的问题,但似乎您正在尝试为输入类型Date设置值。

如果要为输入类型日期 ”设置值,则必须将其格式化为“ yyyy-MM-dd ”(注意:大写MM表示月份,小写字母表示mm表示分钟)。 否则,它将清除该值并将datepicker保留为空。

假设您有一个名为“ DateChanger ”的按钮,并且您希望在单击它时将日期选择器设置为“ 2012年12月22日 ”。

<script>
    $(document).ready(function () {
        $('#DateChanger').click(function() {
             $('#dtFrom').val("2012-12-22");
        });
    });
</script>
<input type="date" id="dtFrom" name="dtFrom" />
<button id="DateChanger">Click</button>

请记住包含JQuery引用。

在初始化代码之后使用它来获取当前日期(以datepicker格式):

$(".ui-datepicker-today").trigger("click");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM