使用jquery-ui datepicker在文本框中设置或显示日期

时间:2011-08-16 05:41:56

标签: javascript jquery-ui jquery-ui-datepicker

我首先在datepicker文本框中设置或显示日期时遇到问题 我有两个文本框,一个用于datepicker,第二个用于替代格式。

<input type="text" id="birth_date_display" />
<input type="text" id="birth_date" />

和像这样的脚本

$( "#birth_date_display" ).datepicker({
 dateFormat: "d M, yy",
 altField: "#birth_date",
 altFormat: "yy-mm-dd"
});

我的问题是,如果我有如下字符串:var datebirth =“2011-08-16”
然后我想设置文本框。
我曾尝试制作这样的剧本:

document.getElementById("birth_date_display").value = datebirth; //it's NOT works
document.getElementById("birth_date").value         = datebirth; //it's works

谢谢:)

3 个答案:

答案 0 :(得分:2)

您想在DatePicker上使用setDate method

$( "#birth_date_display" ).datepicker("setDate", datebirth);
$( "#birth_date" ).datepicker("setDate", datebirth);

编辑:您可能也会这样做,但我还没有测试过:

$( "#birth_date_display, #birth_date" ).datepicker("setDate", datebirth);

答案 1 :(得分:1)

您只需要调用setDate DatePicker方法。这将设置DatePicker的值,并使用您为dateFormat和altFormat指定的格式更新两个文本框元素。

var datebirth="2011-08-16"; 
$("#birth_date_display").datepicker("setDate",new Date(datebirth));

答案 2 :(得分:0)

您也可以尝试格式化月份名称而不是整数

var Month = "Feb" //some month; 
var Year = "2013" //some year; 
var mydate = new Date('1 '+ Month + " " + Year);

$(“。txtDate”)。datepicker('setDate',new Date(Year,mydate.getMonth(),1));