【发布时间】:2013-01-15 07:12:33
【问题描述】:
在我的 ASP.Net 页面上,我使用了来自 here 的 js 插件。我有很好的自定义表单元素适合我的网站的外观和感觉。后来我注意到,当我在我的asp.net 下拉列表控件上应用Styled css 类并将它的AutoPostback 属性设置为false 时,我看不到客户端的选定值发生变化。但是,当我单击页面上的按钮时,发布到服务器的 SelectedValue 正在发生变化,但 UI 在没有发布到服务器的情况下不会更新。
我看到 ryan 提供的 js 文件,并观察到如果我删除 opacity 或 filter(在 ie 中)下拉菜单开始正常工作,但不幸的是这会扰乱 @987654327 的外观和感觉@。 opacity 是使用 cutom-form .js 动态设置的
特别是这行代码设置了元素的opacity
document.write('<style type="text/css">input.styled { display: none; } select.styled { position: relative; width: ' + 140 + 'px; opacity: 0; filter: alpha(opacity=0); z-index: 5; } .disabled { opacity: 0.5; filter: alpha(opacity=50); }</style>');
这是我的标记
<asp:DropDownList ID="ddlRestaurants" runat="server" CssClass="styled" AppendDataBoundItems="True" AutoPostBack="false" Width="50">
<asp:ListItem Value="0" Text="All Restaurants"></asp:ListItem>
</asp:DropDownList>
如果还有什么需要弄清楚的,请在 cmets 中告诉我。任何帮助我都会非常感激。
【问题讨论】:
-
您是否在特定浏览器上遇到问题?我已经检查了您链接的网站上的演示,并且下拉菜单在 FF 和 IE8 中似乎都可以正常工作
-
@VinayC 感谢您的回复。我在 FF 18.0 和 IE 9 以及 chrome 版本 24.0.1312.52 m 中遇到问题。演示即使在我的机器上也能正常工作,但是当我在网页上实现脚本时,它似乎不起作用
-
您如何在客户端访问
selectedValue? -
@Devjosh,建议您创建可以说明问题的示例(例如 jsFiddle 中的示例)。
-
@lanthe 我需要访问代码隐藏文件中的值,但如果我选择任何其他 iyem,则 UI 不会在客户端更新,因此始终选择默认项目。 a 还确保下拉选项中的 selected=false
标签: javascript jquery asp.net drop-down-menu