3

我的代码中有 2 个选择元素。一个用于美国各州 ( #us_state ),第二个用于城市 ( #city_name )。当我选择“州”时,第二个选择元素必须仅包含处于选定州的城市。我使用ajax,我完成了请求并得到了响应。响应格式为 id:name {"26332":"Abbott Park","27350":"Addieville", ...}。现在我想添加对选项元素的响应并将其附加到带有#city_name id. 但我不知道如何达到这个结果。<option value="key">value</option>

$('#us_state').bind('change', function() {
    var projectId = $("#inputtitle").val();     
    var stateId =  $(this).val(); 
    var arrayData = {"projectId": projectId, "stateId":stateId};
    $.ajax({
          type: "GET",
          url: "/bidboldly/projects/editproject/",        
          data: arrayData,
          success : function(response) {
             ............
             ..........                         
          },
          error: function(){
            alert("error");
          }
    })
});
4

2 回答 2

2

遍历从响应中接收到的每个数组数据并在 var city 中获取城市名称。然后使用 jquery append 附加选项值(还记得使用清除迭代循环之外的选项$('#city_name').html("");

$('#city_name').append('<option value="'+city+'">'+city+'</option>');
于 2012-04-22T08:22:03.933 回答
1

这是你要找的吗?

data = eval('( '+response' )'); //Parse the JSON data
for (zip in data) { //Iterate through each item in data
    $('#city_name').append('<option value="'+zip+'">'+data[zip]+'</option>'); //Append option to select element
}
于 2012-04-22T08:21:18.383 回答