我想根据所选索引(字符串)所需的宽度来调整选择列表的大小。比方说我有一个包含3个字符串的列表,short,medium,loooooong;我不希望选择列表自动地与其最大元素一样宽,而是应该与其选定元素一样宽。
我尝试的第一种方法:document.getElementById('selectList').style.width = (selectedText.length * 6) + 'px';
其中selectedText是一个字符串,6是对字符宽度的不良估计。如果没有等宽字体,这将无法正常工作。
我尝试的下一个方法是将off screen div(top:-9999px)的innerHTML设置为所选索引,然后:document.getElementById('selectList').style.width = document.getElementById('hiddenDiv').offsetWidth;
这种方法的问题在于宽度也不正确,一些非常长的字符串使得选择列表与实际选择的字符串相比变长了。
如何根据字符串宽度/长度动态调整此选择列表的大小?