He pegado con este problema. El selector de fecha se está trabajando bien en el contenido estático.

Pero falla cuando el contenido se carga a través de Ajax.

He intentado :-

jQuery.noConflict();
jQuery(function($) {
    $(document).ready(function(){
        $( ".datepickerRange" ).datepicker({
            dateFormat: 'dd-mm-yy',
            prevText:'',
            nextText:'',
            minDate: 0,
            maxDate: "+1M",
            showOn: "button",
            buttonImage: divadatepicker.image_url+"/calendar.jpeg",
            buttonImageOnly: true
        });
        $( ".datepicker" ).datepicker({
            dateFormat: 'dd-mm-yy',
            prevText:'',
            nextText:'',
            showOn: "button",
            buttonImage: divadatepicker.image_url+"/calendar.jpeg",
            buttonImageOnly: true,
            changeMonth: true,
            changeYear: true,
            yearRange: "1960:2015"
        });

            });

$(document).live(function(){
        $( ".datepickerRange" ).datepicker({
            dateFormat: 'dd-mm-yy',
            prevText:'',
            nextText:'',
            minDate: 0,
            maxDate: "+1M",
            showOn: "button",
            buttonImage: divadatepicker.image_url+"/calendar.jpeg",
            buttonImageOnly: true
        });
        $( ".datepicker" ).datepicker({
            dateFormat: 'dd-mm-yy',
            prevText:'',
            nextText:'',
            showOn: "button",
            buttonImage: divadatepicker.image_url+"/calendar.jpeg",
            buttonImageOnly: true,
            changeMonth: true,
            changeYear: true,
            yearRange: "1960:2015"
        });

            });

});

No muestra el aún calendario de la pequeña de la imagen después de que el contenido cargado mediante ajax.

  • FYI, $.live() está en desuso desde 1.7 y fue eliminado en 1.9. uso $.on() lugar api.jquery.com/on

2 Comentarios

  1. 10

    Llamada .datepicker en su success función de devolución de llamada en tu llamada ajax en lugar de utilizar .live, que está en desuso. Ejemplo:

    function initdatepicker(){
        $( ".datepickerRange" ).datepicker({
            dateFormat: 'dd-mm-yy',
            prevText:'',
            nextText:'',
            minDate: 0,
            maxDate: "+1M",
            showOn: "button",
            buttonImage: divadatepicker.image_url+"/calendar.jpeg",
            buttonImageOnly: true
        });
        $( ".datepicker" ).datepicker({
            dateFormat: 'dd-mm-yy',
            prevText:'',
            nextText:'',
            showOn: "button",
            buttonImage: divadatepicker.image_url+"/calendar.jpeg",
            buttonImageOnly: true,
            changeMonth: true,
            changeYear: true,
            yearRange: "1960:2015"
        });
    }
    $(document).ready(function(){
        initdatepicker();
    });

    Y agregar esto a su $.ajax success:

    initdatepicker();
    • Como este : success: function(html) { // jQuery(«#search_result»).slideDown(«slow»); // alert («html»); jQuery(«#right_search»).html(html); jQuery(‘#TB_overlay’).css(‘display’,’none’); jQuery(«cuerpo»).css(«overflow»,»auto»); $( «.datepicker» ).datepicker(); }, no Su trabajo.
    • He añadido un ejemplo de mi post. Quitar $( ".datepicker" ).datepicker(); y uso initdatepicker(); lugar.
    • Gracias por tu ayuda.. Pero sigue sin funcionar. Sin embargo, se llama a la función en el éxito, me alerta de prueba no. Pero no pasó nada 🙁
    • ¿el contenido cargado de ajax todavía tiene la clase datepicker o datepcikerRange?
    • se tiene las siguientes clases :- select_reseve reserve_date datepickerRange campo1
    • El tiempo que tiene la clase datepickerRange, se debe trabajar. Cualquier error en la consola?
    • La consola ayudado.. yo estaba usando $ en lugar de jQuery.. eres genial. Gracias mucho.
    • No está seguro de lo que la biblioteca tiene en la página, pero se puede usar jQuery.noConflict(); (api.jquery.com/jQuery.noConflict) para dar $ de vuelta a jQuery.

  2. -1

    Utilizar este

    <script type="text/javascript">
        $(function(){
            $('input.calendarSelectDate').live('click', function() {
               $(this).datepicker({showOn:'focus'}).focus();
            });
         });
    </script>

Dejar respuesta

Please enter your comment!
Please enter your name here