Eu tenho a versão mais recente do choose (1.0.0) e estou obtendo largura: 0px dentro do recipiente escolhido. Não tenho ideia de por que a função this.container_width() está retornando "0px". Alguém poderia me ajudar?
nota: estou usando dentro de um modal de bootstrap que mostra em tempo real
note2: devo chamar modal() e depois chamar choose() para não falhar
Eu encontrei exatamente o mesmo problema, e o que resolveu isso foi adicionar um
largura mínima: 220px !importante;
para a classe CSS .chosen-container :)
Duplicata de #1272 e #1532, possível solução em #1439
Eu procurei por este problema cerca de 1 hora. Eu não tinha certeza se ele veio desde a última atualização para 3.2... eu consertei com escolhido.css e largura: 220px! importante
Não é uma boa solução, deve ser corrigida com a próxima atualização do joomla... esse problema tem quase 1 ano.
No código de "chosen.jquery.js" veja:
container_props = {
'class': container_classes.join(' '),
'style': "width: " + (this.container_width()) + ";",
'título': this.form_field.title
};
Depois é só fazer:
$("#idControl").chosen({
largura: "250px"
});
Percebo que isso é um pouco antigo, mas criei uma solução marginalmente melhor (para 1.7.0) adicionando a seguinte função:
function defModalWidth(obj) {
if (obj.container_width() == '0px') {
return '600px';
} else {
return obj.container_width();
}
}
e substituindo this.container_width()
em set_up_html
chamando-o assim:
this.container.width(defModalWidth(this));
Qualquer coisa que a escolha pensa que deve ser zero porque o modal em que está oculto receberá 600.
Parece funcionar.
Comentários muito úteis
Eu encontrei exatamente o mesmo problema, e o que resolveu isso foi adicionar um
largura mínima: 220px !importante;
para a classe CSS .chosen-container :)