Javascript 被jQuery日期选择器迷惑

Javascript 被jQuery日期选择器迷惑,javascript,jquery,input,datepicker,default,Javascript,Jquery,Input,Datepicker,Default,我已经在各种论坛上寻找答案。无济于事。我有一个解决方案,在下面,它做了我想要的,但它在控制台中抛出了一个错误。如果删除有问题的“asString()”,错误会消失,当然,但在输入字段中看不到日期 HTML 我想要实现的是,日期(动态生成)出现在输入字段中,由日期选择器突出显示,并成为提交表单时返回的值。换句话说,用户只需要在需要时更改日期 感谢您的帮助。使用$.datepicker.formatDate实用程序函数格式化日期实例并在输入字段上设置值 您无需触发change事件,因为在datepi

我已经在各种论坛上寻找答案。无济于事。我有一个解决方案,在下面,它做了我想要的,但它在控制台中抛出了一个错误。如果删除有问题的“asString()”,错误会消失,当然,但在输入字段中看不到日期

HTML

我想要实现的是,日期(动态生成)出现在输入字段中,由日期选择器突出显示,并成为提交表单时返回的值。换句话说,用户只需要在需要时更改日期


感谢您的帮助。

使用
$.datepicker.formatDate
实用程序函数格式化日期实例并在输入字段上设置值

您无需触发
change
事件,因为在datepicker打开之前,它不会执行任何操作。如果要立即触发对话框可见性,请使用
.datepicker(“show”)
方法

$(函数(){
var lastDate=新日期(“2019-06-01”);
var dateFormat=“yy-mm-dd”;
$(“#日期选择器”)
.日期选择器({
showOtherMonths:是的,
showButtonPanel:是的,
选择OtherMonths:true,
更改月份:false,
变更年:错误,
dateFormat:dateFormat,
defaultDate:lastDate,
设置日期:lastDate
})
.val($.datepicker.formatDate(dateFormat,lastDate));
});

.asString()
不是已知的日期原型方法。你是说
.toString()
?就是这样。我知道asString()不是一个有效的方法。这就是错误所在。但是如果我将其更改为toString(),错误将消失,但例程不起作用。输入字段中未显示日期。
<input class='datepicker' value='[yyyy-mm-dd]' type='text' name='date_taken' />
function dp() {
  var temp = document.getElementById("last_date").value;
  var bits = temp.split("-");
  bits[1]--; if(bits[1]==0){bits[1]=12;}
  var lastDate = new Date(bits[0],bits[1],bits[2]);
  $(".datepicker").datepicker({
    showOtherMonths: true,
    showButtonPanel: true,
    selectOtherMonths: true,
    changeMonth: false,
    changeYear: false,
    dateFormat: 'yy-mm-dd',
    defaultDate: lastDate,
    setDate: lastDate
    });
   $('.datepicker').datepicker().val(lastDate.asString()).trigger('change');
  }