У меня последняя версия Choose (1.0.0), и я получаю ширину: 0 пикселей в выбранном контейнере. Я понятия не имею, почему функция this.container_width() возвращает «0px». Кто-нибудь может мне помочь?
примечание: я использую внутри модального окна начальной загрузки, которое отображается на лету
note2: я должен вызвать modal(), а затем вызвать selected(), чтобы не получить ошибку
Я столкнулся с точно такой же проблемой, и что решило это, я добавил
минимальная ширина: 220px !важно;
в CSS-класс .chosen-container :)
Дубликат #1272 и #1532, возможное решение в #1439
Я искал этот вопрос около 1 часа. Я не был уверен, появилось ли это после последнего обновления до 3.2 ... я исправил его с помощью selected.css и ширины: 220 пикселей! важно
Это нехорошее решение, оно должно быть исправлено в следующем обновлении joomla... этой проблеме почти 1 год.
В коде "chosen.jquery.js" посмотрите:
container_props = {
'класс': container_classes.join(' '),
'стиль': "ширина: " + (this.container_width()) + ";",
'название': this.form_field.title
};
Затем просто выполните:
$("#idControl").chosen({
ширина: "250px"
});
Я понимаю, что это немного устарело, но я придумал немного лучшее решение (для 1.7.0), добавив следующую функцию:
function defModalWidth(obj) {
if (obj.container_width() == '0px') {
return '600px';
} else {
return obj.container_width();
}
}
и заменив this.container_width()
на set_up_html
, назвав его следующим образом:
this.container.width(defModalWidth(this));
Все, что выбрано, должно быть равно нулю, потому что модальное окно, в котором оно находится, скрыто, вместо этого получит 600.
Кажется, работает.
Самый полезный комментарий
Я столкнулся с точно такой же проблемой, и что решило это, я добавил
минимальная ширина: 220px !важно;
в CSS-класс .chosen-container :)