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を学んでいるので、気軽に知識の鞭を割ってください笑。