2

CSS display = none を使用して非表示にする非表示の div 内にコンボボックスがありますが、display = block を設定して div を表示すると、コンボボックスには入力が表示され、そのボタンと ul リストにはすべて CSS が表示されます。 = 'なし'、可視性 ='非表示'。

JavaScript を使用して手動で CSS を設定しようとしたため、コンボボックスの inbuild JavaScript によって行われたことがわかります。コンボボックスのバグです。

以下は、バグを再現するためのコードです。実行すると、ドロップダウンが表示されません。

<%@ 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

私はちょうど同じ問題を抱えていて、部分的に解決しました。「none」の代わりに「hidden」を使用するとほとんど機能しましたが、奇妙なことに、div が非表示の場合でも、矢印アイコンは div の外に表示されたままになります。

非表示の div にスタイル属性を適用しておらず、変更せずに Combobox スタイルを使用しています。

ちなみに、ChromeとIE9で確認しました。助けてくれてありがとう。

于 2012-02-22T20:53:46.500 に答える
0

div に「display=none」の代わりに「visibility=hidden」を使用してみてください

于 2010-03-29T08:26:41.740 に答える
-1

ボタン div (ID="Button1") は、「ru​​nat=server」であるため、ページをポストバックします。それを削除すると、おそらく正常に動作します。

于 2010-05-12T11:56:44.633 に答える