7
votes

FORCE JQUERY UI SADYPICKER À afficher ci-dessous champ de saisie

J'ai une page qui contient un formulaire et quelques champs. Mes problèmes sont comme suit:

  1. J'essaie de forcer JQuery UI DatePicker à afficher ci-dessous le champ de saisie.
  2. Lorsque je clique dans le champ Entrée, je souhaite que le champ faites défiler le haut de la page également. Je pense que j'ai ce travail.

    Voici mon jQuery:

    jQuery: xxx

    lien vers un violon: https://jsfiddle.net/mauricet/0qfycgm1/10/

    Voici ce que je veux éviter:

    DatePicker affiche au-dessus du champ de saisie < / a>

    Toute suggestion serait grandement appréciée. Merci!


2 commentaires

Qu'est-ce que vous vouliez dire en dessous de l'entrée? Voulez-vous que le champ Entrée superpose sur le sélecteur de date?


J'ai donc besoin de la salepicker pour afficher ci-dessous le champ, quoi qu'il arrive. Pour le moment, si vous cliquez sur la datePicker et il y a de l'espace au-dessus du champ, la datePicker apparaîtra au-dessus du champ. Cliquez sur le lien dans l'image de ma question pour un visuel. Merci!


4 Réponses :


1
votes

Un correctif simple consiste à ajuster le frontage à l'aide de CSS pour la zone de calendrier.

Ajoutez ce qui suit à votre fichier CSS. p>

    .ui-datepicker{
        margin-top: 300px;
    }


5 commentaires

Merci pour votre réponse, Ankush! Cependant, je ne suis pas sûr que c'est une solution robuste, car si je fais défiler la page et sélectionnez la datePicker, la datePicker apparaîtra 300px sous le champ. J'ai besoin de quelque chose de plus dynamique.


D'après ce que je comprends, la boîte de calendrier apparaît au-dessus du champ Entrée de sélecteur de date, mais vous voulez qu'il soit affiché ci-dessous.? Est-ce tellement ou voulez-vous autre chose?


Oh, je reçois le problème de défilement que vous avez mentionné. Et il persiste en cas de marge de dessus: 0px aussi et donc la solution de Jayanti Lal ne fonctionne pas aussi bien.


Consultez ceci sur Stackoverflow.com/ Questions / 15131465 / ... identique à celle spécifiée par @deep


Merci, Ankush! J'ai marqué la réponse de @ Deep comme réponse résolue.



1
votes

Ajouter

       ui-datepicker{
          margin-top: 0px;
          }


0 commentaires

14
votes

Vous pouvez atteindre votre objectif en définissant le CSS du picker de la date POP.

Utilisez le code ci-dessous pour définir le CSS, l'utilisation de Settimeout est d'éviter le priorité du CSS.

Ici, je trouve le haut et à gauche de la zone de texte de sélecteur d'heure de date et utilise ces valeurs pour définir la position de la fenêtre Populateur de la date d'heure de la date

sur les informations sur la vérification des événements de Peforeshow.

https://api.jqueryui.com/datepicker/#OPtion-Beforeshow xxx

voici le violon: https: // jsfiddle .NET / 0QFYCGM1 / 14 /


1 commentaires

Merci @deep. Pouvez-vous expliquer votre utilisation de Settimeout un peu plus? Merci.



0
votes

La ligne de code suivante de JQuery-ui- (version) définit votre position supérieure d'objet pour être zéro afin qu'il s'affiche mal.commément la ligne de code que vous obtiendrez ce que vous voulez. Je passe beaucoup de jours n'a trouvé aucune solution meilleure.

offset = $ .DatePicker._CheckOffset (inst, offset, isfixed);


0 commentaires