javascript - 如何使选定选项的宽度为当前选定选项的文本宽度?

标签 javascript html css html-select

我正在尝试使选择选项具有当前选定选项的宽度。

我的代码是选择选项下拉菜单的标准 HTML:

<select name="search_options">
  <option value="all">All</option>
  <option value="entertainment">Entertainment</option>
  <option value="newsandpolitics">News &amp; Politics</option>
  <option value="sports">Sports</option>
  <option value="lifestyle">Lifestyle</option>
  <option value="health">Health</option>
  <option value="scienceandtech">Science &amp; Tech</option>
</select>

我一直在尝试只使用 CSS 或 Javascript,不使用 JQuery,但我无法弄清楚。

我已经发现了几个 JQuery fiddle ,但没有 CSS/Javascript fiddle 。

http://jsfiddle.net/5AANG/4/

http://jsfiddle.net/qqcc5/

有什么方法可以实现这一点,与上述 2 个 fiddle 相同,仅使用 CSS 或纯 Javascript?

任何指向正确方向的指示都会很棒。

最佳答案

根据您的第二个链接,您可以这样做:

var selectId = document.getElementById("yourSelect");

selectId.onchange=function(){
   var selectedValue = selectId.options[selectId.selectedIndex].value; 
   var selectedText = selectId.options[selectId.selectedIndex].text;

   selectId.style.width = 20 + (selectedText.length * 8) + "px";
}

测试: http://jsfiddle.net/ndquxquu/

关于javascript - 如何使选定选项的宽度为当前选定选项的文本宽度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35567067/

相关文章:

python - Jupyter nbconvert LaTex 导出主题

javascript - 为什么不使用 header 而不是缓存破坏者?

javascript - 将内联函数表达式作为参数传递给常规函数

javascript - Cheerio - 查找并打印与查询匹配的所有属性

html - 样式表未应用于 html,因为它是 mime 类型

javascript - 有没有办法找到并删除所有 html 页面共有的未使用的 CSS 和 Javascript?

javascript - Html.TextBoxFor 正则表达式不起作用

javascript - 如果 URL 不正确,fetch API 不会在 catch 中显示确切的错误

html - div 背景颜色,悬停时缓慢变化

jquery - 将其用作背景图像后图像不太清晰