J'ai la dernière version de choose (1.0.0) et j'obtiens width: 0px dans le conteneur choisi. Je ne sais pas pourquoi la fonction this.container_width() a renvoyé "0px". Quelqu'un pourrait m'aider ?
note: j'utilise à l'intérieur un modal bootstrap qui s'affiche à la volée
note2: je dois appeler modal() puis appeler selected() pour ne pas échouer
J'ai rencontré exactement le même problème, et ce qui m'a résolu, c'est d'ajouter un
largeur min: 220px !important;
à la classe CSS .chosen-container :)
Duplicata de #1272 et #1532, solution possible en #1439
J'ai cherché ce problème environ 1 heure. Je ne savais pas si cela venait depuis la dernière mise à jour vers 3.2... je l'ai corrigé avec choisi.css et largeur : 220px ! important
Ce n'est pas une bonne solution, cela devrait être corrigé avec la prochaine mise à jour de joomla... ce problème a presque 1 an.
Dans le code de "chosen.jquery.js", regardez :
conteneur_props = {
'classe' : conteneur_classes.join(' '),
'style' : "largeur : " + (this.container_width()) + ";",
'titre' : this.form_field.title
} ;
Ensuite, faites simplement :
$("#idControl").choisi({
largeur : "250px"
});
Je me rends compte que c'est un peu vieux, mais j'ai trouvé une solution légèrement meilleure (pour 1.7.0) en ajoutant la fonction suivante :
function defModalWidth(obj) {
if (obj.container_width() == '0px') {
return '600px';
} else {
return obj.container_width();
}
}
et en remplaçant this.container_width()
dans set_up_html
en l'appelant ainsi :
this.container.width(defModalWidth(this));
Tout ce qui est choisi devrait être nul parce que le modal dans lequel il se trouve est masqué obtiendra 600 à la place.
Semble fonctionner.
Commentaire le plus utile
J'ai rencontré exactement le même problème, et ce qui m'a résolu, c'est d'ajouter un
largeur min: 220px !important;
à la classe CSS .chosen-container :)