Javascript 使用CSS的下拉列表格式

Javascript 使用CSS的下拉列表格式,javascript,jquery,asp.net,css,Javascript,Jquery,Asp.net,Css,我基本上是在asp.net页面上使用dropdownlist控件,我将宽度设置为150px。在mozilla浏览器中,它显示扩展的列表项,而在IE中,列表项文本仅限于下拉列表的宽度。任何想法,我怎么能在IE中获得与Mozilla相同的dropdownlist外观 我只希望列表项容器扩展到其最大宽度,而不是下拉列表框。我很确定您不能单独设置下拉列表的宽度和选项,这取决于浏览器。唯一的选择是自己在javascript中复制下拉列表的行为。基本上,您将创建一个类似于下拉列表控件的东西,并附加一个cli

我基本上是在asp.net页面上使用dropdownlist控件,我将宽度设置为150px。在mozilla浏览器中,它显示扩展的列表项,而在IE中,列表项文本仅限于下拉列表的宽度。任何想法,我怎么能在IE中获得与Mozilla相同的dropdownlist外观


我只希望列表项容器扩展到其最大宽度,而不是下拉列表框。

我很确定您不能单独设置下拉列表的宽度和选项,这取决于浏览器。唯一的选择是自己在javascript中复制下拉列表的行为。基本上,您将创建一个类似于下拉列表控件的东西,并附加一个click事件处理程序,该处理程序将显示一个绝对定位的div(或ul),显示选项。然后,您将为每个选项附加一个事件处理程序,该选项将隐藏选项并执行您需要的操作-可能会在下拉控件的文本中显示该选项并存储值(如果这是您希望提交的表单,则隐藏的表单字段将在此处提供帮助)。这是一项相当多的工作,但只要小心使用css,它的优点是在所有浏览器中看起来都一样。我没有时间在这里编写代码,但一旦您接受了没有快速解决方案的事实,代码应该相当简单。

我想您正在寻找以下解决方案

虽然我建议只在IE使用IE8的情况下使用这段代码


如果您添加了任何代码,我会针对您的问题提供一个解决方案,但我认为您可以从中理解。

我会考虑设置
最大宽度
,而不是
宽度
也许?非常感谢您的回复,但我尝试做的是用户建议的修复,在dropdownlist中看到大文本后。如果我尝试用其他控件来回复这个dropdownlist,这可能还需要对代码进行很多更改。难道不能用javascript或CSS来解决这个问题吗?对不起,我认为浏览器不允许您进行所需的更改。您应该能够通过使用javascript在旧控件出现时生成新控件来封装此更改。选择一个选项后,它可以保留(但隐藏)旧控件并更新其值。这样,更改不应影响任何其他代码。
$("select.ie8-fallback")
    .on('mousedown'   , 'select', expand)
    .on('blur change' , 'select', contract);