如何设置选择框或下拉列表框的值,因为设置了上一个列表框值

时间:2012-10-16 10:37:49

标签: php javascript jquery

  

可能重复:
  Use jquery to change second select list based on first select list option

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

2 个答案:

答案 0 :(得分: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);
}​

DEMO: http://jsfiddle.net/8hbcP/

答案 1 :(得分:0)

使用jquery append附加选项值(还记得使用

清除迭代循环外的选项

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

$('#city_name').append('<option value="'+city+'">'+city+'</option>');