0

可能重复:
使用 jquery 根据第一个选择列表选项更改第二个选择列表

我的代码中有两个选择元素。一个用于州 (#us_state),第二个用于城市 (#city_name)。当我选择“州”时,第二个选择元素必须仅包含处于选定州的城市。

4

2 回答 2

2

一种可能的解决方案:

var data = {
    "State 1": ["City 1", "City 2"],
    "State 2": ["City 3", "City 4"],
    "State 3": ["City 5", "City 6", "City 7"]
};

var $states = $("#us_state").on("change", function() {
    var $cities = $.map(data[this.value], function(city) {
        return $("<option />").text(city);
    });
    $("#city_name").empty().append($cities);
});

for (var state in data) {
    $("<option />").text(state).appendTo($states);
}​

演示:http: //jsfiddle.net/8hbcP/

于 2012-10-16T10:49:40.963 回答
0

使用 jqueryappend附加选项值(还记得使用清除迭代循环之外的选项

$('#city_name').html("");

$('#city_name').append('<option value="'+city+'">'+city+'</option>');
于 2012-10-16T10:41:43.333 回答