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 标记内添加一个新选项,代码必须在一个地方,这样我就可以进行一次更改。数组会很长.. 我正在考虑将第一个选择放在一个外部文件中并用 php 检索它,第二个选择的数组将全部位于一个外部 javascript 文件中,该文件将包含在我的所有文件中.. 你能想出一个更简洁的实现,这样我就不必在基本的 javascript 文件中创建大型数组,或者你认为这是一个正确的方法吗?