Les options de liste déroulante Select2 ne s'affichent pas lorsque Select2 est utilisé dans une Colorbox. J'utilise la liste déroulante Select2 avec succès ailleurs dans mon application, mais c'est la première fois que j'ai essayé de l'utiliser dans un popup de colorbox.La liste déroulante Select2 échoue à l'intérieur de Colorbox
J'ai essayé toutes les suggestions énumérées ici, en vain: https://github.com/jackmoore/colorbox/issues/474#issuecomment-25836400
J'utilise jquery v3.1.1, v1.12.1 jquery-ui, jquery.Select2 v4.0.3 et jquery. colorbox v1.4.29. Mon navigateur est IE 11.
J'ouvre la colorbox comme ça (je ne suis pas en utilisant une iframe et modale est la valeur par défaut de « false »):
$.colorbox(
{
href: '/MyDomain/MyAction',
open: true,
scrolling: true,
width: '60%',
height: "60%",
onComplete: function() {
myJavascriptFunction();
}
});
La fonction qui fonctionne onComplete ressemble à ceci:
myJavascriptFunction = function() {
$('#SelectId option[value="0"]').prop('disabled', true);
$("#SelectId ").select2({
minimumResultsForSearch: Infinity, //turns off the search box
width: '400px',
theme: "classic",
dropdownAutoWidth: true,
templateResult: myMethod,
templateSelection: myOtherMethod
}).on('select2:select', function (e) {
yetAnotherMethod(e);
});
}
Je suppose qu'il s'agit d'un problème d'affichage. L'appel de méthode Select2 semble fonctionner - il a la bonne largeur, affiche correctement l'option sélectionnée, et quand je clique dessus, les méthodes templateResult et templateSuggestion se déclenchent correctement, et il passe visiblement par le même léger scintillement et change de couleur Les éléments Select2 font quand je les utilise avec succès ailleurs. Lorsque je clique sur l'élément Select2 et que j'examine la page dans l'Explorateur DOM, je peux voir que select2 html existe, avec les options. Ils ne sont tout simplement pas visibles. Du point de vue de l'utilisateur, la liste déroulante ne peut tout simplement pas tomber et afficher les options de sélection.