1

ASPページに2つのドロップダウンリストがあります。

ユーザーが最初のドロップダウン リストの選択したインデックスを変更した場合は、次のように設定します。DDL2.selectedindex = DDL1.Selectedindex

スイッチ DDL1 と DDL2 をそれぞれ除いて、これと同じロジックを実行します。これらは両方ともオブジェクトの同じリストから取り込まれ (それぞれに異なるプロパティが設定されているだけです)、クエリに order by 句を使用してデータの同期を維持しています。私の質問は、このロジックを JavaScript で動作させるにはどうすればよいですか? 私の現在の方法はそのようなものです..

Accounts.Attributes.Add("onBlur", Customers.SelectedIndex = Accounts.SelectedIndex)
Customers.Attributes.Add("onBlur", Accounts.SelectedIndex = Customers.SelectedIndex)

このコードは機能しませんが、何を狙っているかを示しています。最初の選択を取得する ddl がフォーカスを失ったら、他の ddl を設定します (選択したインデックスを設定します)。どんな助けでも素晴らしいでしょう!


ここで私が間違っていることを誰かが見ることができますか?

            $("[id$=ddlStandardAcctNo]").change(function () {

            var acc = $("[id$=ddlStandardAcctNo]");
            var cust = $("[id$=ddlCustomerName]");
            cust.selectedindex = acc.selectedindex;
        });

コンパイルしても動作しません... :( これらのドロップダウンは、asp グリッドビュー内にあります。


それを見た後、私はこれをやろうとしています..

        $("[id$=ddlStandardAcctNo]").blur(function () {

        var acc = document.getElementById('<%=ddlStandardAcctNo.ClientID %>');
        var cust = document.getElementById('<%=ddlCustomerName.ClientID %>');
        cust.selectedindex = acc.selectedindex
    });

    $("[id$=ddlCustomerName]").blur(function () {

        var acc = document.getElementById('<%=ddlStandardAcctNo.ClientID %>');
        var cust = document.getElementById('<%=ddlCustomerName.ClientID %>');
        acc.selectedindex = cust.selectedindex
    });

問題は、ドロップダウンリストがグリッドビューにあるため、document.ready を使用しないことです。私は文字通り、このような問題に出くわしたときにjavascript/jqueryを学んでいるので、気軽に知識の鞭を割ってください笑。

4

1 に答える 1

1

これやっとわかった!!!!前のjqueryの解決策は次のとおりです

                        $("[id$=ddlStandardAcctNo]").change(function () {
                        $("[id$=ddlCustomerName]").attr("selectedIndex", this.selectedIndex);
                    });

                    $("[id$=ddlCustomerName]").change(function () {
                        $("[id$=ddlStandardAcctNo]").attr("selectedIndex", this.selectedIndex);
                    });
于 2012-12-06T18:26:17.960 に答える