2

我在隐藏的 div 中有一个组合框,我使用 CSS display = none 使其不可见,但是当我通过设置 display = block 使 div 可见时,组合框只显示输入,其按钮和 ul 列表都具有 CSS 作为显示='无',可见性='隐藏'。

我可以说它是通过组合框内置 JavaScript 完成的,因为我尝试使用 JavaScript 手动设置 CSS,但没有成功。这是组合框的错误。

下面是重现该错误的代码。当你运行它时,你看不到下拉列表:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication1._Default" %>

<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>

<asp:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server">
</asp:ToolkitScriptManager>
<div  id="d" style="display:none">
    <asp:ComboBox ID="ComboBox1" runat="server">
    <asp:ListItem>a</asp:ListItem>
    <asp:ListItem>d</asp:ListItem>
    <asp:ListItem>f</asp:ListItem>
    </asp:ComboBox>
    <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
</div>
<div ID="Button1" runat="server" onclick="show();">click me</div>

<script type="text/javascript">
    function show() {
        var d = $get('d');
        d.style.display = 'block';
    }
</script>
4

3 回答 3

0

尝试对 div 使用“visibility=hidden”而不是“display=none”

于 2010-03-29T08:26:41.740 回答
0

我刚刚遇到同样的问题,我已经部分解决了。使用“隐藏”而不是“无”几乎可以工作,但奇怪的是,即使 div 被隐藏,箭头图标仍然保持在 div 之外并且可见。

我没有使用任何应用于我的隐藏 div 的样式属性,并且我正在使用未经修改的组合框样式。

顺便说一下,我已经在 Chrome 和 IE9 上检查过了。感谢您提供任何帮助。

于 2012-02-22T20:53:46.500 回答
-1

您的 button-div (ID="Button1") 将回发页面,因为它是“runat=server”。删除它,很可能它会正常工作。

于 2010-05-12T11:56:44.633 回答