アイデアは、各選択フィールドが変更されたとき、フォームアクション(各オプションの値)に必要なディレクトリの一部を渡します。すなわち:このjavascriptを短縮できますか? Jqueryはオプションです
<select onChange="chgFrmAtn" id="1-1">
<option value="">Any</option>
<option value="exDir1Option1">option 1</option>
<option value="exDir1Option2">option 2</option>
</select>
ここではjavascriptは、基本的に私は2つのディレクトリ、いくつかの異なるオプションをビルドしたい。オプションの数は、このサンプルスクリプトのリストよりもはるかに長くなります。オプションは任意の順序で指定できます。いずれかが選択されている場合は、ディレクトリに追加されません。
function chgFrmAtn(itemVal)
{
var directory1Part1 = '';
var directory1Part2 = '';
var directory1Part3 = '';
var directory2Part1 = '';
var directory2Part2 = '';
if(itemVal == '1-1'){
directory1Part1 = document.getElementById(itemVal);
}
if(itemVal == '1-2'){
directory1Part2 = document.getElementById(itemVal);
}
if(itemVal == '1-3'){
directory1Part3 = document.getElementById(itemVal);
}
if(itemVal == '2-1'){
directory1Part1 = document.getElementById(itemVal);
}
if(itemVal == '2-2'){
directory1Part2 = document.getElementById(itemVal);
}
document.advancedSearchForm.action = directory1Part1 + directory1Part2 + directory1Part3 + '/' + directory2Part1 + directory2Part2 + '/';
}
ありがとうございます。
ループを使用してください。複数の変数の代わりに配列やオブジェクトを使用する。いいえ、jQueryはあまり役に立ちません。 – Bergi