jquery datepicker default date

那年仲夏 提交于 2019-12-22 03:16:28

问题


I am trying to get a attribute of a date picker to pull the date dynamically, however I get uncaught exception errors when I try to set it to a variable.

The errors only occur on pages that do NOT have the calendar (inline). How can I pul the rel tag from the selector without getting this error?

//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;
    }});}});
}

UPDATE Correct, the commented line is what I am having issues with, What is the correct way to pull the attribute rel from #calendar-inline from inside this. All attempts throw a uncaught error in js

Update 2

function calendar_picker () {
var myDate = new Date($("#calendar-inline").attr('rel'));
    $("#calendar-inline").datepicker({

     dateformat: 'yy-mm-dd',
     defaultDate:myDate,

Solution:

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,

回答1:


try this:

defaultDate: $("#calendar-inline").attr('rel')

This will attempt to pull the date from the 'rel' attribute and if that doesn't exist it should return null. When null is passed into the datepicker default date it will use today as the default date.




回答2:


We can set default date by this:

<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>

See http://jqueryui.com/demos/datepicker/#option-defaultDate




回答3:


Your question is a little unclear - what I'm assuming is that your problem occurs on the commented out line.

If that's correct then I think your problem is with the "this". I'm not quite sure what you're expecting "this" to be, but inside the function it's going to be the window object.

If I'm on completely the wrong track please update the question with some more information.




回答4:


this works for me:

var nowDate = new Date(year, month, day, hours, minutes, seconds, milliseconds);

then in the date picker, you set:

defaultDate: nowDate;


来源:https://stackoverflow.com/questions/1646590/jquery-datepicker-default-date

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!