我试图获取日期选择器的属性来动态提取日期,但是当我尝试将其设置为变量时,出现未捕获的异常错误。
错误仅发生在没有日历(内联)的页面上。 如何从选择器中提取 rel 标签而不出现此错误?
//Event Calendar Home Page and Listing
function calendar_picker () {
$("#calendar-inline").datepicker({
//defaultDate: $(this).attr('rel'),
dateformat: 'yy-mm-dd',
maxDate: '+1y',
minDate:'-0d',
hideIfNoPrevNext: true,
showButtonPanel: false,
navigationAsDateFormat: false,
onSelect: function(dateText, inst) {
var d = new Date(dateText);
var fmt1 = $.datepicker.formatDate("yy-mm-dd", d);
$.ajax({
type: "POST",
url: "/events/listing/all/20/",
dataType: "html",
date: "event_date="+fmt1,
success: function(){
window.location.href= "/events/browse/"+fmt1;
}});}});
}
更新 正确,注释行是我遇到的问题, 从 #calendar-inline 中提取属性 rel 的正确方法是什么? 所有尝试都会在 js 中引发 Uncaught Error
更新2
function calendar_picker () {
var myDate = new Date($("#calendar-inline").attr('rel'));
$("#calendar-inline").datepicker({
dateformat: 'yy-mm-dd',
defaultDate:myDate,
解决方案:
function calendar_picker () {
var myDate = null;
if ($("#calendar-inline").attr('rel') != null) {
myDate = $.datepicker.parseDate("yy-mm-dd", $("#calendar-inline").attr('rel'));
}
$("#calendar-inline").datepicker({
dateformat: 'yy-mm-dd',
defaultDate:myDate,
最佳答案
试试这个:
defaultDate: $("#calendar-inline").attr('rel')
这将尝试从“rel”属性中提取日期,如果该属性不存在,则应返回 null。当 null 传递到日期选择器默认日期时,它将使用今天作为默认日期。
关于jquery datepicker默认日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1646590/