【问题标题】:asp.net DropDown does not change selected item clientsideasp.net DropDown 不会更改所选项目客户端
【发布时间】:2013-01-15 07:12:33
【问题描述】:

在我的 ASP.Net 页面上,我使用了来自 here 的 js 插件。我有很好的自定义表单元素适合我的网站的外观和感觉。后来我注意到,当我在我的asp.net 下拉列表控件上应用Styled css 类并将它的AutoPostback 属性设置为false 时,我看不到客户端的选定值发生变化。但是,当我单击页面上的按钮时,发布到服务器的 SelectedValue 正在发生变化,但 UI 在没有发布到服务器的情况下不会更新。

我看到 ryan 提供的 js 文件,并观察到如果我删除 opacityfilter(在 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


【解决方案1】:

我怀疑不透明度设置的 javascript 中存在错误,导致所有进一步的 javascript 处理停止。

在 Firefox 中查看它并使用 Web Developer > 错误控制台查看是否看到任何错误消息。

【讨论】:

    猜你喜欢
    • 2021-05-27
    • 2017-10-10
    • 2020-06-25
    • 2012-10-14
    • 1970-01-01
    • 2011-04-24
    • 2021-08-24
    • 2011-12-29
    • 2019-08-16
    相关资源
    最近更新 更多