HTMLコード
<select id = "country">
<option selected = "selected" value = "0">all</option>
<option value = "1">country1</option>
<option value = "2">country2</option>
<option value = "3">country3</option>
</select>
<select id = "region">
<option selected = "selected">all</option>
</select>
Javascriptコード
//add an option and it's value with jquery append and javascript split.
//Array elements are in form of option|value
//so that we can process them with split
var regions = new Array()
regions[0] = ["all|1"];
regions[1] = ["region1|2","region2|3"]
regions[2] = ["region3|4","region4|5"]
regions[3] = ["region5|6","region6|7"]
$(document).ready(function() {
$("#country").change(function(){
$("#region").empty()
var v = $("#country").val()
for(i=0; i<regions[v].length; i++)
$("#region").append(new Option(regions[v][i].split("|")[0]),
regions[v][i].split("|")[1])
});
});
このようなさまざまなフォームがあり(したがって、多くの配列を作成する必要があります)、すべてのフォームが複数のページで再利用されるため、selectタグ内に新しいオプションを追加する場合は、コードを1か所に配置する必要があります、変更を1回行うようにします。配列は非常に長くなります。最初の選択を外部ファイルに入れてphpで取得することを考えています。2番目の選択の配列はすべて、すべてのファイルに含まれる外部javascriptファイルに含まれます。 ..基本的なJavaScriptファイルで大きな配列を作成する必要がないように、よりクリーンな実装を考えられますか、それとも正しい方法だと思いますか?