2010-11-24 7 views
0

J'espère que quelqu'un d'autre a vécu cela et peut me diriger dans la bonne direction quant à la cause/solution. Le problème que j'ai est que j'utilise un jQuery UI-Dialog pour une entrée de formulaire. Lorsque la boîte de dialogue s'affiche, elle est complètement vide de la barre de titre. Je l'ai ouvert dans firebug et j'ai remarqué qu'il y avait un élément CSS noté comme suit;jQuery Barre de titre de la boîte de dialogue de l'interface utilisateur Problème

element.style { 
    display:none; 
} 

Le element.style, dans Firefox semble se référer à/html/corps/div [3]/div qui est le div utilisé pour la barre de titre lui-même. Quand je désactive l'affichage: none; la barre de titre devient visible. Donc, je sais ce qui semble le provoquer, mais il semble aussi que ce CSS est le résultat de quelque chose qui se passe peut-être dans jquery lui-même peut-être. Je pensais à l'origine que je pouvais avoir des conflits CSS à cause de mes fichiers CSS, donc je les ai commentés et essayé d'exécuter la page avec seulement les bibliothèques jquery et les css et les images personnalisées. Toujours obtenir la même chose.

Je me bats depuis des jours maintenant et je pourrais vraiment utiliser quelques conseils.

Merci

MISE À JOUR:

$(document).ready(function() { 
    $("#dlgEditMlgData").dialog({ autoOpen: false, 
            modal: true, 
            show: 'blind', 
            hide: 'explode', 
            title: 'Mileage Entry Edit Utility' 
    }); 
    $("#dlgEditMlgData").hide().siblings().hide(); 
}); 
+0

Réglez-vous le texte du titre (attribut de titre d'élément dom ou options de boîte de dialogue)? – sje397

+0

Je définis le texte du titre dans le javascript qui crée la boîte de dialogue. – Skittles

+0

$ (document) .ready (function() { $ ("# dlgEditMlgData") dialogue ({ Autoopen:. False, modal: true, show: 'aveugle', cacher: 'exploser', titre : 'Utilitaire de modification d'entrée de millage' }); $ ("# dlgEditMlgData"). Hide(). Siblings(). Hide(); }); – Skittles

Répondre

1

votre code Vous avez affiché comme ceci:

$(document).ready(function() { 
    $("#dlgEditMlgData").dialog({ 
    autoOpen: false, 
    modal: true, 
    show: 'blind', 
    hide: 'explode', 
    title: 'Mileage Entry Edit Utility' 
    }); 
    $("#dlgEditMlgData").hide().siblings().hide(); 
}); 

Lorsque vous appelez .dialog l'élément est déplacé à la fin du document et inséré dans un wrapper (Le cadre de la boîte de dialogue). Mais après cela, vous appelez hide sur l'élément et cachez également ses frères et soeurs, ce qui signifie que vous cachez le div lui-même mais vous cachez également la barre de titre qui est un frère du div après qu'il a été déplacé. Si vous devez masquer les frères et sœurs de l'élément, essayez de le faire avant de créer le dialogue.

+0

Donc, vous dites d'appeler les frères et sœurs de cacher avant le code ci-dessus? – Skittles

+0

Avant cette ligne: $ ("# dlgEditMlgData"). Dialog ({ –

+0

Oh mec! C'était trop facile! Merci beaucoup pour cette réponse, c'était le problème, je l'ai déplacé avant le bloc de définition du dialogue et j'ai aussi changé de sorte qu'il était caché le conteneur div et cela a fonctionné.:) – Skittles

1

Y a-t-il une raison pour laquelle vous appelez $ ("# dlgEditMlgData"). Hide(). Siblings(). Hide()? Lorsque vous initialisez a comme une boîte de dialogue avec autoOpen défini sur false, la boîte de dialogue est masquée pour commencer. Pour afficher la boîte de dialogue, puis appelez-vous:

$('#dlgEditMlgData').dialog('open'); 

Pas besoin d'appeler explicitement cacher() sur la boîte de dialogue ou de ses frères et sœurs.

+0

J'ai plusieurs boîtes de dialogue encapsulées dans un conteneur div afin que chacun puisse être appelé à la demande. Si je ne cache pas les frères et sœurs, les autres apparaîtront sur la page. Y a-t-il une meilleure façon d'aborder cela peut-être? – Skittles

+0

Les autres boîtes de dialogue ne doivent pas indiquer si elles sont toutes initialisées avec autoOpen: false. Pourriez-vous mettre à jour votre exemple pour montrer le problème causé par plusieurs boîtes de dialogue? –

+0

James, merci pour la perspicacité. Je pense que votre réponse et celle de Mikael étaient justes sur l'argent. Merci à vous deux! Problème résolu. :) – Skittles

Questions connexes