web-dev-qa-db-fra.com

g.size () n'est pas une fonction - Erreur Jquery

J'avais essayé d'utiliser bootstrap datetimepicker et d'avoir tous les composants sur mes scripts comme Moment JS, bootstrap-date-time js et bootstrap js mais je reçois g.size () n'est pas une erreur de fonction. J'essaie d'exécuter la fonction suivante

$(function(){
    $('#datetimepicker').datetimepicker();
  });

13
Sajak Upadhyaya

J'ai eu la même erreur que vous et je ne pouvais trouver de solution nulle part. En fait, la seule référence à l'erreur g.size() is not a function était cette question, à l'époque avec un seul vote négatif. 

Ma solution était de trouver un sélecteur de date/heure différent qui fonctionnait réellement

J'ai trouvé celui-ci: https://github.com/xdan/datetimepicker , c'était assez facile de commencer à travailler: 

  1. téléchargez le zip de github
  2. Inclure les fichiers: 

    <link href = "./ js/datetimepicker-master/build/jquery.datetimepicker.min.css" rel = "stylesheet"> <script src = "./ js/datetimepicker-master/build/jquery.datetimepepicker .full.min.js "> </ script>

  3. Ce HTML 

    <input id = "datetimepicker" type = "text" />

  4. Et ce JS

    $ .datetimepicker.setLocale ('en');
    $ ('# datetimepicker'). datetimepicker ();

Je me suis mis au travail et je n'ai travaillé que dans une fraction du temps que j'avais perdu à essayer de faire en sorte que le datstimepicker de bootstrap cesse de me donner l'erreur g.size()

Bien sûr, il existe de nombreux autres sélecteurs de date/heure disponibles: 

Voir ce post pour de nombreuses autres options: whats-a-good-javascript-time-picker

11
kris

.size() a été supprimé de la version 3 de jQuery, utilisez plutôt .length.

Dans votre exemple, remplacez g.size() par g.length.

9
Agu Dondo

L'erreur g.size est connue des développeurs et existe avec les versions les plus récentes de jquery.

Si vous souhaitez utiliser ce datetimepicker, retournez à jQuery 2.1.4 ou une version antérieure.

Le bug est listé ici:

https://github.com/Eonasdan/bootstrap-datetimepicker/issues/1714
6
Al Grant

Vérifiez votre version de jQuery. J'utilisais la dernière version (3.1.1). Certains plugins que j'utilisais lançaient cette erreur.

selon la documentation: La méthode .size () est obsolète à partir de jQuery 1.8. Utilisez plutôt la propriété .length.

(il a été supprimé en 3.0)

donc, un simple retour à une version antérieure à 3.0 a fait l'affaire.

edit: whoops, comme le dit A. Wolff dans les commentaires.

edit 2: autre chose ... si vous voulez garder votre version de jquery à jour, vous pouvez inclure le plugin jquery-migrate dans votre projet - https://github.com/jquery/jquery-migrate

3
Tom

Veuillez utiliser le dernier bootstrap-datetimepicker pour résoudre ce problème. J'ai utilisé la version ci-dessous et l'erreur est partie.

<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datetimepicker/4.17.47/css/bootstrap-datetimepicker.min.css" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datetimepicker/4.17.47/js/bootstrap-datetimepicker.min.js"></script>

jQuery v3.3.1 est utilisé.

0
Tapash