【问题标题】:Alternative to using HTML Select替代使用 HTML Select
【发布时间】:2010-09-22 16:36:19
【问题描述】:

我有一个带有各种 SELECT(多行和下拉列表样式)元素的 HTML 表单。 SELECT 中的许多项目比元素宽度宽得多。在大多数浏览器中,它会显示一个工具提示,并且下拉菜单将与最宽的选项一样宽。然而,在 IE6 中,这些都不起作用。

有谁知道任何替代控件,例如 jQuery 插件,可以用作 SELECT 替代品,允许工具提示和更广泛的下拉菜单。它只需要在IE6中工作。

【问题讨论】:

  • “它只需要在 IE6 中工作” - 不要以为我以前听过这种说法。 =)
  • "它只需要在IE6下工作。"目瞪口呆。请回到现代世界。
  • "它只需要在IE6下工作。" - 听起来就像部署在企业环境中的所有其他内部 Web 应用程序,因此是一个非常有效的问题。
  • 应该努力推动公司进步,使用更现代的技术。想不出任何理由为什么人们仍然应该构建仅在 IE6 中工作的应用程序。就是不对!
  • @Alex:如果你在一家大公司工作,这说起来容易做起来难。想象一下试图用一块易碎的浮木将搁浅的鲸鱼移回海中

标签: html internet-explorer-6


【解决方案1】:

您可以使用 CSS 指定 SELECT 元素的宽度以满足您的需要。

select { width: 150px; }

【讨论】:

  • 问题是它太宽以适应页面。我不希望 SELECT 更宽,只是它的下拉部分。
【解决方案2】:

像jQuery Selectable 这样的东西怎么样。

在这里,您可以获得具有给定宽度的元素的可选列表。如果您想要更接近选择菜单的内容(即未列出所有内容),您可以查看下拉菜单类型实现,并对其进行修改以选择您的值,而不是导航到新页面。

【讨论】:

    【解决方案3】:

    我没有 IE6,所以如果你可以设置 select 元素的宽度,我不是 100%。如果你不能,你可以“重新创建”一个选择元素。如果 IE6 出现问题,我不会感到惊讶。

    例如,为每个选项创建一个display: inline-blockdiv,然后循环遍历每个 div 并获取最大宽度。再次循环并将每个宽度设置为最高宽度。将它们保存在一个唯一的容器中(具有相同的宽度以确保它们包裹)并将它们放置在为此目的创建的元素旁边。不确定它对您的应用程序有多实用,但是呵呵。

    详细来说,这就是我的意思:http://jsfiddle.net/Svkxc/

    【讨论】:

      猜你喜欢
      • 2013-11-17
      • 2018-08-18
      • 1970-01-01
      • 2019-04-09
      • 1970-01-01
      • 2014-03-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多