Asp.net mvc mvc中的动态城市下拉列表
我试图找出我的代码出了什么问题,我已经疯了,所以这里需要一些帮助, 我的代码运行得很好,实际上我的代码所做的是,当我选择任何一个州时,它会动态地获取表单2 dropdownlist,一个用于州,一个用于城市,它对应的城市会从city dropdownlist中的db中填充!,州dropdownlist填充了州,但城市dropdownlist填充了未定义的选项!,这是我面临的基本问题,我也在粘贴我的代码,也许任何人都能找出它的基本错误 家庭控制器 INDEX.CSHTML 我猜tb_statecity.city是一个字符串,所以这里的查询返回的是一个列表,而不是一个列表 这意味着在JavaScript中,q已经是城市的名称,这解释了为什么q.city是未定义的。试试这个Asp.net mvc mvc中的动态城市下拉列表,asp.net-mvc,Asp.net Mvc,我试图找出我的代码出了什么问题,我已经疯了,所以这里需要一些帮助, 我的代码运行得很好,实际上我的代码所做的是,当我选择任何一个州时,它会动态地获取表单2 dropdownlist,一个用于州,一个用于城市,它对应的城市会从city dropdownlist中的db中填充!,州dropdownlist填充了州,但城市dropdownlist填充了未定义的选项!,这是我面临的基本问题,我也在粘贴我的代码,也许任何人都能找出它的基本错误 家庭控制器 INDEX.CSHTML 我猜tb_stateci
$.each(data, function (i, q) {
v += "<Option value=" + q+ ">" + q + "</option>";
});
是的,问题解决了,非常感谢,但是您能详细告诉我为什么我会出现这个错误,以便我以后可以避免它,非常感谢您在.NET中选择城市名称。Selectm=>m.city。。。因此,它返回一个字符串列表,这将成为JavaScript中的字符串数组。
<script src="~/Scripts/jquery-1.7.1.min.js"></script>
<script type="text/javascript">
$(function () {
$('#state').change(function () {
var val = $('#state').val();
$.get("home/city", { state: val }, function (data) {
var v="<option>Select</option>"
$.each(data, function (i, q) {
v += "<Option value=" + q.city + ">" + q.city + "</option>";
});
$('#city').html(v);
});
});
});
</script>
<div>
@Html.DropDownList("state", "Select")
@Html.DropDownList("city", new List<SelectListItem> { new SelectListItem{Text="Select",Value="0"}
});
var v = dd.tb_statecities
.Where(m => m.state == state)
.Select(m => m.city)
.ToList();
$.each(data, function (i, q) {
v += "<Option value=" + q+ ">" + q + "</option>";
});