2012-10-16 108 views
0

可能重复:
Use jquery to change second select list based on first select list option如何为选择框设定值或以前的列表框中的值设置下拉列表框中

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

+1

您是否有某种数据源来填充两个选择?此外,一如既往,您目前的代码将有助于...在这里张贴或通过小提琴 – gonzofish

回答

0

使用jQuery append附加选项值(也记得使用

$('#city_name').html("");以清除迭代循环之外的选项

$('#city_name').append('<option value="'+city+'">'+city+'</option>'); 
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/

相关问题