11
votes

Actualiser la position de la boîte de dialogue JQuery UI

J'utilise une boîte de dialogue JQuery. Le contenu de cette boîte de dialogue est dynamique de sorte que la hauteur change lorsque la boîte de dialogue est ouverte.

$("#a_div").dialog({ width: 400 });


0 commentaires

3 Réponses :


1
votes

Vous pouvez essayer de redimensionner la boîte de dialogue à l'aide de ses classes par JQuery directement ( Documentation ici )

La structure de base de la boîte de dialogue jQueryui est la suivante: xxx

Donc, vous devriez peut-être jouer avec la largeur et la hauteur des classes pour définir le meilleur.

Une autre solution consiste à définir la largeur de la boîte de dialogue directement avant l'ouverture (lorsque vos données sont chargées avec succès): xxx

J'espère que cela vous aide.


0 commentaires

27
votes

Vous devez ré-régler la position en faisant:

$("#a_div").dialog({
    position: { 'my': 'center', 'at': 'center' }
});


3 commentaires

La forme de la chaîne de la position est obsolète. Vous devriez utiliser Position: {My: "Centre", à: "Centre", de: Fenêtre} à la place.


@CDMCKay N'hésitez pas à ajouter les meilleures pratiques actuelles à la solution! :)


Pour moi, ajouter fenêtre à la fin a fait le truc: $ ("# a_div"). Dialogue ({position: {'My': "Centre", "Centre" , de la fenêtre}});



1
votes

Si vous souhaitez utiliser les paramètres de position exacts comme utilisé par JQuery UI pour le positionnement initial, vous pouvez saisir les options du code UI de JQuery et les utiliser à tout moment à repositionner votre boîte de dialogue. XXX

Utilisez: P>

refreshDialogPosition("YourDialogId");


0 commentaires