<p>recipiente escolhido obtendo largura: 0px</p>

Criado em 12 set. 2013  ·  5Comentários  ·  Fonte: harvesthq/chosen

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

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 :)

Todos 5 comentários

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.

Esta página foi útil?
0 / 5 - 0 avaliações