Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jquery日期选择器默认日期_Jquery_Date_Datepicker - Fatal编程技术网

jquery日期选择器默认日期

jquery日期选择器默认日期,jquery,date,datepicker,Jquery,Date,Datepicker,我试图获取一个日期选择器的属性来动态提取日期,但是当我试图将其设置为变量时,会出现未捕获的异常错误 错误仅发生在没有日历(内联)的页面上。 如何从选择器中Pull rel标记而不出现此错误 //Event Calendar Home Page and Listing function calendar_picker () { $("#calendar-inline").datepicker({ //defaultDate: $(this).attr('rel'), dateform

我试图获取一个日期选择器的属性来动态提取日期,但是当我试图将其设置为变量时,会出现未捕获的异常错误

错误仅发生在没有日历(内联)的页面上。 如何从选择器中Pull 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中抛出一个未捕获的错误

更新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,

您的问题有点不清楚-我假设您的问题发生在注释掉的行上

若那个是正确的,那个么我认为你们的问题在于“这个”。我不太确定您期望的“this”是什么,但在函数中它将是window对象

如果我完全走错了方向,请用更多信息更新问题。

试试这个:

defaultDate: $("#calendar-inline").attr('rel')
这将尝试从'rel'属性中提取日期,如果该属性不存在,则应返回null。当null被传递到datepicker默认日期时,它将使用今天作为默认日期。

这对我很有用:

var nowDate = new Date(year, month, day, hours, minutes, seconds, milliseconds);
然后在日期选择器中,设置:

defaultDate: nowDate;

我们可以通过以下方式设置默认日期:

<script type="text/javascript">
$(function() {               
    $("#date" ).datepicker({
        changeMonth: true,
        changeYear: true,
        yearRange: '1920:2010',
        dateFormat : 'dd-mm-yy',
        defaultDate: new Date(2000,01,01)
    });
});
</script>

$(函数(){
$(“#日期”).datepicker({
变化月:对,
变化年:是的,
年份范围:“1920:2010”,
日期格式:“dd-mm-yy”,
默认日期:新日期(2000,01,01)
});
});

请参见

这不起作用,必须对日期进行解析,但它不起作用。我尝试手动将日期放入字符串中,它提前了一年。rel属性中的日期是什么格式?您应该能够像这样创建一个var:var myDate=newdate($(“#日历内联”).attr('rel');如果将该变量传递到defaultDate,它应该可以工作。。。如果没有,你能发布一些html吗?当我通过你建议的新js代码的上面的内容时,rel数据是“2009-11-19”,现在它只是默认为今天,无论rel中有什么内容。今天之前的任何默认日期都将更改为今天,因为minDate:“-0d”选项。还有,试试:$.datepicker.parseDate(“yy-mm-dd”,$(“#日历内联”).attr('rel'))@David Radcliffe:你可能想用你在评论中添加的内容更新你的答案,以备将来参考?
(2000,01,01)
应该是
(2000,1,1)