Estoy tratando de conseguir un atributo de un selector de fecha para tirar de la fecha de forma dinámica, sin embargo puedo obtener excepción no capturada errores cuando intento establecer a una variable.

Los errores sólo se producen en las páginas que NO tienen el calendario (en línea).
¿Cómo puedo pul la etiqueta rel desde el selector sin llegar a este 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;
    }});}});
}

ACTUALIZACIÓN
Correcto, en la línea de comentarios es lo que yo estoy teniendo problemas con el,
¿Cuál es la forma correcta para tirar el atributo rel de #calendario en línea desde el interior de este.
Todos los intentos de lanzar un error no capturado en js

Actualización 2

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

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

Solución:

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,

OriginalEl autor matthewb | 2009-10-29

2 Comentarios

  1. 9

    intente esto:

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

    Esto va a intentar tirar de la fecha de la ‘rel’ atributo y si no existe se debe devolver null. Cuando se pasa un valor null en el selector de fecha de fecha predeterminado que se utiliza hoy en día como la fecha predeterminada.

    Esto no funciona, la fecha debe ser analizado y no lo es. He intentado poner manualmente una fecha en una cadena y se fue de 1 año de antelación.
    ¿Cuál es el formato de la fecha en el atributo «rel»? Usted debe ser capaz de crear un var como esto: var myDate = new Date($(«#calendario-inline»).attr(‘rel’)); Si pasa de esa variable en la defaultDate debería funcionar… si no, puedes publicar algo de html?
    El rel de datos es «2009-11-19» cuando me pase lo que sugerimos ver arriba para el nuevo código js, ahora sólo los valores predeterminados para el día de hoy, no importa lo que está en el rel.
    Cualquier defecto de fecha anterior a la de hoy va a ser cambiado a día de hoy debido a la minDate:’-0d’ opción. Y, intente lo siguiente: $.selector de fecha.parseDate(«aa-mm-dd», $(«#calendario-inline»).attr(‘rel’))
    Radcliffe: puede que desee actualizar su respuesta con lo que has añadido en los comentarios para referencia en el futuro?

    OriginalEl autor David Radcliffe

  2. 8

    Se puede establecer el valor predeterminado de la fecha por esta:

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

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

    (2000,01,01) debe ser (2000,1,1)

    OriginalEl autor Somnath Muluk

Dejar respuesta

Please enter your comment!
Please enter your name here