0

私は2つのオプションセットを持っています。ddlProduct が変更されると、ddlPackage のいくつかのオプションを非表示にして表示します。製品とパッケージ間のマッピングは、各パッケージ オプションの値です。このような

<select name="ctl00$MidContent$ddlPackage" class="selectpicker" id="ddlPackage" style="display: none;" data-width="100%" data-style="btn-own btn-select hideDisabled">
<option value="134260004;Administrace;AXAPTA">

この文字列を分割し、最後の部分を現在選択されている製品と比較しています。

DropDownList では、ブートストラップ拡張機能が使用されます: bootstrap-select http://silviomoreto.github.io/bootstrap-select/

しかし、遅すぎます。特にIEで。

$("#ddlProduct").change(function () {
    var product = $("#ddlProduct option:selected").text().trim();
    $("#ddlPackage option").each(function () {
        var optValues = $(this).val().split(";");
        var opt2 = optValues[2].trim();

        if (opt2 == "") {
            $(this).show();
        }
        else {
            if (opt2 == product) {
                $(this).show();
            }
            else {
                $(this).hide();
            }
        }
    });
    $("#ddlPackage").val($("#ddlPackage option:first").val());
    $("#ddlPackage").selectpicker('refresh');

<asp:Panel ID="Panel39" runat="server" CssClass="row">
    <asp:Panel ID="Panel40" runat="server" CssClass="row compenserow col-lg-4 col-md-4 col-sm-6">
        <asp:Label ID="Label29" runat="server" CssClass="col-lg-4 col-md-4 col-sm-4 col-xs-4">Prudukt: </asp:Label>
        <asp:Panel ID="Panel63" runat="server" CssClass="bootstrap-select col-lg-8 col-md-8 col-sm-8 col-xs-8">
            <asp:DropDownList ID="ddlProduct"  data-style="btn-own btn-select" data-width="100%" runat="server" CssClass="selectpicker" ClientIDMode="Static"></asp:DropDownList>
        </asp:Panel>
    </asp:Panel>
    <asp:Panel ID="Panel41" runat="server" CssClass="row compenserow col-lg-4 col-md-4 col-sm-6">
        <asp:Label ID="Label31" runat="server" CssClass="col-lg-4 col-md-4 col-sm-4 col-xs-4">Balík: </asp:Label>
        <asp:Panel ID="Panel64" runat="server" CssClass="bootstrap-select col-lg-8 col-md-8 col-sm-8 col-xs-8">
            <asp:DropDownList ID="ddlPackage"  data-style="btn-own btn-select hideDisabled" data-width="100%" runat="server" CssClass="selectpicker" ClientIDMode="Static"></asp:DropDownList>
        </asp:Panel>
    </asp:Panel>
</asp:Panel>
4

2 に答える 2