C# 根据输入的zipcode生成城市状态下拉列表
我有两个下拉列表城市和州以及邮政编码文本框。我需要根据输入的邮政编码生成城市和州下拉列表。当用户输入邮政编码时,我将邮政编码传递给API以获取州/城市列表。 使用下面的代码,我可以从API中获取数据,可以在控制台中查看州/市,但无法在下拉列表中显示。我不确定我错过了什么。如何在下拉列表中显示数据 API控制器:C# 根据输入的zipcode生成城市状态下拉列表,c#,jquery,asp.net-ajax,C#,Jquery,Asp.net Ajax,我有两个下拉列表城市和州以及邮政编码文本框。我需要根据输入的邮政编码生成城市和州下拉列表。当用户输入邮政编码时,我将邮政编码传递给API以获取州/城市列表。 使用下面的代码,我可以从API中获取数据,可以在控制台中查看州/市,但无法在下拉列表中显示。我不确定我错过了什么。如何在下拉列表中显示数据 API控制器: public class Getstatelist : ApiController { // GET api/Getstatelist/5 public List<
public class Getstatelist : ApiController
{
// GET api/Getstatelist/5
public List<CityState> GetCityState(string zipEntered)
{
var list = new List<CityState>();
if (string.IsNullOrEmpty(zipEntered) || zipEntered.Length < 2)
return list;
zipEntered += "%";
using (var connection = new OracleConnection(ConfigurationManager.ConnectionStrings["MY_DB_CONNECTION_STRING"].ConnectionString))
{
connection.Open();
var sqlQuery = "select state from state_city_data where zip like :zipEntered";
using (var command = new OracleCommand(sqlQuery, connection))
{
command.BindByName = true;
command.Parameters.Add("zipEntered", OracleDbType.Varchar2).Value = zipEntered;
using (var reader = command.ExecuteReader())
{
while (reader.Read())
{
list.Add(new CityStateZip
{
State = reader["STATE"] != DBNull.Value ? Convert.ToString(reader["STATE"]) : null,
});
}
}
}
}
return list;
}
}
$document.readyfunction
{
$zip.keyup函数{
var el=$this;
如果el.val.length==5{
$.ajax{
类型:'GET',
url:../api/Getstatelist/+el.val,
成功:函数html{
console.loghtml;
$'state'.htmlhtml;
}
};
}否则{
$'state'.html'首先输入邮政编码';
}
};
};
先选择城市
城市
选择状态
状态
拉链
要填充状态下拉列表,您需要在ajax中修改成功回调,如下所示:
$.each(html,function(key,value){
$('#state').append($('<option></option>').val(value.State).html(value.State));
});
对于城市下拉列表也类似:
$.each(html,function(key,value){
$('#city').append($('<option></option>').val(value.City).html(value.City));
});
我可以在控制台中看到州/市-因为您有一个console.loghtml;呼叫-但我无法在下拉列表中显示。我不确定我错过了什么要将值实际添加到控件中的代码?您必须以html格式准备响应选择选项,并且必须将其附加到html文件中。示例响应格式:res=