選択した値に基づいて特定のリンクを表示するいくつかの選択ボックスを持つページを作成しています。すべてをうまく表示/非表示にできますが、難しい方法でやっていることがわかっています。私はまだ JS/jQuery に非常に慣れていないので、スクリプトを 1 つの関数に凝縮する方法がわかりません (これは可能だと確信しています)。
ワーキングjquery:
$('.trqVerSelect').change(function () {
$('.trqVersions .links').hide();
$('.ver' + $(this).val()).show();
}).change();
$('.mwmVerSelect').change(function () {
$('.mwmVersions .links').hide();
$('.ver' + $(this).val()).show();
}).change();
上記が機能することを示すjsFiddleを次に示します。私が望んでいないのは、ページ上のすべての単一の選択ボックス インスタンスに対してこれらの関数を大量に構築することです。そのうちの 12 程度になります。
以下のコードを試してみたところ、ある程度は機能しますが、新しい選択を行うたびに、他のすべての選択が非表示になります。別の選択ボックスで新しい選択を行うときに、ユーザーが他の選択を保持できるようにしたい。
$('select').change(function () {
$('.links').hide();
$('.ver' + $(this).val()).show();
}).change();