0

多分これは以前に尋ねられたのかもしれません。もしそうなら、ごめんなさい:)

2 つのドロップダウン リストと 1 つのボタンを持つ aspx で単純なフォームを作成しています。

最初の ddl には、次のオプションがあります。

  • 全て
  • ノキア
  • サムスン

2 番目にはサブカテゴリが含まれます。

  • 全て
  • 3310
  • N95
  • 銀河のエース
  • ギャラクシー SⅡ

最初のユーザーで [すべて] を選択すると、2 番目のユーザーには [すべて] のみが表示されます。
Nokia を選択すると、All、3310、N95 が表示されます。Samsung
を選択すると、All、Galaxy Ace、Galaxy SII が表示されます。

サーバーから2番目のドロップダウンリストにデータを入力するために、サーバーでそれを行う方法の記事がいくつか見つかりました。

私の状況では、約 10 個のアイテムと 3 つのカテゴリがあるため、サーバーは必要ありません。

どうやってするか?シンプルな aspx または javascript。

私は感謝するでしょう。ありがとう!

4

1 に答える 1

1

以下のコードを試してください。

<asp:DropDownList runat="server" AutoPostBack="true" ID="ddlCategories" OnSelectedIndexChanged="ddlCategories_SelectedIndexChanged">
            <asp:ListItem Text="All" Value="All" />
            <asp:ListItem Text="Nokia" Value="Nokia" />
            <asp:ListItem Text="Samsung" Value="Samsung" />
        </asp:DropDownList>
        <asp:DropDownList runat="server" AppendDataBoundItems="true" ID="ddlSubCategories">
            <asp:ListItem Text="All" Value="All" />
        </asp:DropDownList>

データベースを使用していないため、値をハードコーディングする必要があります。

protected void ddlCategories_SelectedIndexChanged(object sender, EventArgs e)
    {
        ddlSubCategories.Items.Clear();   
        if (string.Compare(ddlCategories.SelectedValue, "Nokia", true) == 0)
        {
            ddlSubCategories.Items.Add(new ListItem("3310", "3310"));
            ddlSubCategories.Items.Add(new ListItem("N95", "N95"));
        }
        else if (string.Compare(ddlCategories.SelectedValue, "Samsung", true) == 0)
        {
            ddlSubCategories.Items.Add(new ListItem("Galaxy Ace", "Galaxy Ace"));
            ddlSubCategories.Items.Add(new ListItem("Galaxy SII", "Galaxy SII"));
        }
        ddlSubCategories.Items.Insert(0, new ListItem("All", "All"));
    }

それが役に立てば幸い。javascriptルートに行きたい場合は、以下のリンクを見つけてください。

別のドロップダウンの選択に基づいて1つのドロップダウンにデータを入力します

于 2012-04-20T12:40:55.277 に答える