2012-08-01 38 views
8

Estoy consiguiendo el error Uncaught TypeError: Object [object Object] has no method 'datepicker' en mi javascript aquí:objeto no tiene un método planificador de evento

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.9/jquery-ui.min.js"></script> 
<script type='text/javascript'> 
$(function() { 
    $("#birthday").datepicker({changeMonth: true}); 
}); 
</script> 

Aquí está el tema de cumpleaños que estoy tratando de añadirlo a:

<!--// BIRTHDAY //--> 
<li class="field"> 
    <label for="birthday">Birthday</label> 
    <div class="field"><input type="text" id="birthday" name="birthday" value="" class="" /></div> 
</li> 

Como puede ver, estoy incluyendo la fuente de jquery ui justo arriba, donde estoy tratando de usar el marcador de fecha. Obtuve la URL de http://jqueryui.com/docs/Downloading_jQuery_UI, así que estoy bastante seguro de que es una URL válida. También traté de cargar el archivo y el enlace a la copia local y todavía tengo el mismo error. ¿Qué más puedo probar?

EDIT:

tengo la biblioteca jQuery cargado usando la siguiente: <script type="text/javascript" src="/includes/js/jquery-1.7.2.min.js"></script> y verificado con este fragmento de secuencia de comandos:

if (jQuery) { 
    alert("jQuery library is loaded!"); 
} 
+0

intente buscar en el inspector de su navegador (Chrome Herramientas de desarrollo, Firebug, etc) - ¿Hay algún error 404? –

+1

solo como una prueba, intente: $ .noConflict() en su documento listo para ver si sus jqueries en conflicto –

+0

Funciona para mí: http://jsfiddle.net/nyhCF/ – FishBasketGordo

Respuesta

23

De nuestro análisis, encontramos que la variable $ (un alias jQuery) no se comportaba normalmente. Por lo general, esto se debe a que otro complemento de JS ha cambiado $ para representar algo más. Para evitar esto, se puede envolver el código de jQuery como esto:

jQuery(function($){ 
    //all jQuery code which uses $ needs to be inside here 
}); 

Esto cambiará el significado de $ dentro del ámbito de la función.

+1

¡Buena llamada, amigo! – user1477388

3

Es posible que tenga un conflicto jQuery. Darle una oportunidad en el modo noConflict así:

<script type="text/javascript"> 
    (function($) { 
     $(document).ready(function(){ 
      $("#datepicker").datepicker(); 
     }); 
    })(jQuery); 
</script> 
+1

Es mejor vincular a su respuesta en otra publicación en comentarios si la respuesta es exactamente idéntica. – Arun

0
<script type="text/javascript"> 
(function($){ 
     var pickerOpts = { 
      // minDate: new Date(), 
      //maxDate: "+3m,", 
      showButtonPanel: true, 
      showOn: "button", 
      buttonImage: "images/cal.png", 
      }; 
    $("#birthday").datepicker(pickerOpts); 
     })(jQuery); 
</script> 

link source solution

1

$ funcionará como

$(function($) { 
    $("#dateTasted").datepicker({ 
     changeMonth: true, 
     changeYear: true, 
     dateFormat: "yy-mm-dd"  
    }); 
}); 
Cuestiones relacionadas