Comment changer la position de jquery ui datepicker?
Est-il possible de changer top
et left
positions (obtenir les valeurs actuelles et de les changer) de jQuery UI datepicker. Veuillez noter que j'ai besoin de changer de position, pas margin
comme dans les autres exemples.
source d'informationauteur Kin | 2013-02-28
Vous devez vous connecter pour publier un commentaire.
Assurer qu'il est. Comme il y a toujours un seul datepicker active, vous pouvez sélectionner active datepicker avec:
et le changement de sa position:
MODIFIER
Whoah, difficile. Si vous définissez haut ou à gauche de la position dans
beforeShow
il obtient remplacé à nouveau par datepicker plugin. Vous devez mettre les css des changements dans unsetTimeout
:DÉMO: http://jsfiddle.net/BWfwf/4/
Explication sur
setTimeout(function () {}, 0)
: Pourquoi est-setTimeout(fn, 0) parfois utile?Si vous êtes vraiment coincé, vous pouvez modifier votre jquery-ui-[version].custom.js. La fonction qui contrôle la position où le calendrier apparaît est:
_findPos: function(obj) {
var position,
inst = ce._getInst(obj),
isRTL = ce._get(inst, "isRTL");
J'ai quelques code personnalisé qui utilise un CSS3 transformation pour un zoom avant ou arrière sur la page basée sur sa largeur. Cela jette hors de l'écran des coordonnées du widget de calendrier se fonde sur. J'ai ajouté un peu de code personnalisé à la _findPos de détecter et de gérer le niveau de zoom. Modifié le code ressemble à ceci:
Peut-être une vieille question, mais a couru dans le problème moi-même aujourd'hui et ne pouvait pas obtenir d'autres suggestions pour fonctionner. Il fixe alternativement (à l'aide de
.click(function(){}
) et je voulais ajouter mon grain de sel.J'ai un champ de saisie avec l'id
sDate
qui, lorsqu'on clique dessus, affiche le datepicker.Ce que j'ai fait pour résoudre le problème est d'ajouter un clic de routine à la
#sDate
champ.