Javascript 为什么更改jQuery日期选择器的日期格式失败?

Javascript 为什么更改jQuery日期选择器的日期格式失败?,javascript,jquery,jquery-ui,datepicker,Javascript,Jquery,Jquery Ui,Datepicker,我知道这里有很多关于更改datepicker dateFormat的问题,但我严格按照说明操作,它们似乎没有任何效果。以下是其他答案中建议的确切代码: $(document).ready(function() { $('#datepicker').datepicker({ dateFormat: 'dd-mm-yy' }); }); 然而,当我运行它,并使用alert($(“#datepicker').datepicker(“getDate”))测试datepicker值时 我以不希望

我知道这里有很多关于更改datepicker dateFormat的问题,但我严格按照说明操作,它们似乎没有任何效果。以下是其他答案中建议的确切代码:

$(document).ready(function() {
    $('#datepicker').datepicker({ dateFormat: 'dd-mm-yy' });
});
然而,当我运行它,并使用
alert($(“#datepicker').datepicker(“getDate”))测试datepicker值时

我以不希望的格式返回日期!这是非常令人困惑的。我有什么不对吗?请参阅中描述的行为

编辑:更令人困惑的是,如果我使用
alert($(“#datepicker”).datepicker('option','dateformat'))读取dateformat


。。。返回的日期格式正确,即使调用
getDate
不会以所需格式返回日期。请参见

日期格式设置,了解在应用选择器的文本框中显示的格式

看看我更新的小提琴版本:

正如您所看到的,当您在文本框中单击并选择一个日期时,它是您指定的格式。
据我所知,getDate函数返回一个javascript日期

编辑: 如果您想格式化javascript日期的输出,则需要使用自定义脚本或类似date.js的库(我在这方面取得了很大的成功)

有了它,你可以做如下事情:

$('#datepicker').datepicker("getDate").toString('dd-MM-yyyy');

要以您喜欢的格式获取日期,我同意它返回javascript日期。您可以使用此实用程序功能:

$.datepicker.formatDate(格式、日期、设置)-将日期格式化为具有指定格式的字符串值


这里发生的是getDate,它返回一个javascript日期对象。您将看到date对象的toString方法

试试这个:

$(document).ready(function() {
   $('#datepicker').datepicker({
   onSelect: function(dateText, inst) { alert(dateText) }
   });
$('#datepicker').datepicker( "option" , 'dateFormat', 'yyyy-mm-dd' )


});

以防有人像我一样寻找答案。以下是工作代码:

<script>
$(function() {
$( "#datepicker" ).datepicker({inline: true, dateFormat:'yy-mm-dd'}); });
</script>

$(函数(){
$(“#datepicker”).datepicker({inline:true,dateFormat:'yy-mm-dd'});});

这很有道理。jQueryUI文档只声明
getDate
“返回日期选择器的当前日期”,我认为这意味着日期选择器将在其文本框中输入相同的值。谢谢你的回答,很方便!如果您不需要date.js来做其他事情,那么使用date.js可能是更好的选择。