Я хотел бы выбрать список выбора в зависимости от ширины, необходимой для выбранного индекса (строки). Скажем, например, у меня есть список с 3 строками, короткий, средний, loooooong; Я не хочу, чтобы список выбора автоматически был таким же широким, как и его самый большой элемент, но он должен быть таким же широким, как и выбранный элемент.Динамически размер списка выбора (Safari)
Первый метод, который я пробовал: document.getElementById('selectList').style.width = (selectedText.length * 6) + 'px';
где selectedText - строка, а 6 - плохая оценка ширины символа. Без моноширинного шрифта это работает неправильно.
Следующий методом, который я попытался был установить innerHTML из выключенного экрана DIV (вверху: -9999px) к выбранному индексу, а затем: document.getElementById('selectList').style.width = document.getElementById('hiddenDiv').offsetWidth;
Проблемы этого метода состоит в том, что ширина тоже не правильно, некоторые действительно длинные строки сделали путь списка выбора длинным по сравнению с фактической выбранной строкой.
Любые идеи о том, как я могу динамически сортировать этот список выбора на основе ширины/длины строки?
Вы хотите, чтобы элемент, чтобы изменить его ширину, то есть все, что справа на той же строке будет прыгать, или только часть выпадающий? –