Petit soucis de calendrier JQuery

Eléphant du PHP | 398 Messages

10 août 2010, 16:11

Bonjour,

J ai un ptit soucis avec l'utilisation de mon calendrier datepicker() fonctionnant avec JQuery.
Lorsque je clique sur le input text, mon calendrier apparait très bien en dessous...mais il se place sous les éléments se trouvant après, résultat, je ne peux cliquer sur une date.
Comment je pourrai faire pour le faire apparaitre à droite de mon input ? Il doit y avoir des attributs à déclarer, mais je ne sais pas trop lequel.

Pour indication : mon code :

Code : Tout sélectionner

<p>Date de naissance (jj/mm/aaaa):<br /> <input type="text" id="date_naissance" name="date_naissance" size="30" /> <script type="text/javascript"> $(function() { $("#date_naissance").datepicker(); }); </script> </p>
La page du plugin : http://jqueryui.com/demos/datepicker/ si quelqu'un trouve quelque chose que je n'ai pas vu :).

Merci d avance
----------------------------------------------------------------------------------
https://astro-otter.space - Discover wonders and mysteries of Universe

Mammouth du PHP | 661 Messages

11 août 2010, 10:14

salut, niveau parametrage, j'ai rien trouvé !... et niveau CSS ça ne joue pas dessus, donc peux pas faire GD chose !...
surtout que tu as certainement déja modifié le z-index pour passer au dessus des autres éléments.

Sinon, en décompressant le script aux alentours de la ligne 520 tu trouves cette fonction :
[javascript]
_checkOffset: function (a, b, c) {
var e = a.dpDiv.outerWidth(),
f = a.dpDiv.outerHeight(),
h = a.input ? a.input.outerWidth() : 0,
i = a.input ? a.input.outerHeight() : 0,
g = document.documentElement.clientWidth + d(document).scrollLeft(),
k = document.documentElement.clientHeight + d(document).scrollTop();
b.left -= this._get(a, "isRTL") ? e - h: 0;
b.left -= c && b.left == a.input.offset().left ? d(document).scrollLeft() : 0;
b.top -= c && b.top == a.input.offset().top + i ? d(document).scrollTop() : 0;
b.left -= Math.min(b.left, b.left + e > g && g > e ? Math.abs(b.left + e - g) : 0);
b.top -= Math.min(b.top, b.top + f > k && k > f ? Math.abs(f + i) : 0);
return b
[/javascript]

il semblerait fort qu'elle soit à l'origine du positionnement de ton calendrier ;)

Eléphant du PHP | 398 Messages

11 août 2010, 10:57

Finalement, c etait bien avec le CSS, je n'avais pas du trop rechercher :oops: . Il a suffit de mettre un z-index :100; sur la ligne .ui-datepicker { } du fichier jquery-ui.custom.css...Mais l'idée de modifier dans le JS pour le faire afficher à droite des éléments est une idée à creuser :).
----------------------------------------------------------------------------------
https://astro-otter.space - Discover wonders and mysteries of Universe