全部-
我是MVC / Java的新手,并且尝试了多种教程,以获得有关在MVC视图上为州和市工作的级联下拉列表的方法。我最近的尝试是使用此Example
各州从数据库填充,但是城市是一个空白下拉列表,大约有10个空白空间。不管我选择什么状态。我想念什么?感谢您的指教和建议/反馈!
这里是数据库表信息:
地区(包含州):Id(PK整数),名称(Varchar(255)州/地区名称),CountryId(整数)城市(包含城市):Id(PK Int),名称(Varchar(255)状态/名称),RegionID(整数,链接到区域表)
这里是视图模型:
public class UserAds { public int addId { get; set; } public int userCreatedAcctId { get; set; } public string userForAccEmail { get; set; } public string photoFileLocation { get; set; } public string addTitle { get; set; } public string addDesc { get; set; } public string addPersonalityTraits { get; set; } public string addHobbies { get; set;} [Required] [Display(Name = "State / Region")] public int stateId { get; set; } [Required] [Display(Name = "City")] public int cityId { get; set; } }
这里是控制器:
[HttpGet] public ActionResult CreateAd() { List<Region> stateList = db.Regions.ToList(); ViewBag.StateList = new SelectList(stateList, "Id", "Name"); return View(); } public JsonResult GetCitiesList(int StateId) { db.Configuration.ProxyCreationEnabled = false; List<City> CityList = db.Cities.Where(x => x.RegionId == StateId).ToList(); return Json(CityList, JsonRequestBehavior.AllowGet); }
视图:
<div class="container">
<div class="form-group">
@if (ViewBag.StateList != null)
{
@Html.DropDownListFor(model => model.stateId, ViewBag.StateList as SelectList, "--Select State--", new { @class = "form-control" })
}
</div>
<div class="form-group">
@Html.DropDownListFor(model => model.cityId, new SelectList(" "), "--Select City--", new { @class = "form-control" })
</div>
javascript
<script>
$(document).ready(function () {
$("#stateId").change(function () {
$.get("GetCitiesList", { StateId: $("#stateId").val() }, function (data) {
$("#cityId").empty();
$.each(data, function (index, row) {
$("#cityId").append("<option value=" + row.Id + "'>" + row.Name + "</option>")
});
});
})
});
全部-我是MVC / Java的新手,并且尝试了多种教程,以获得有关在MVC视图上为州和市工作的级联下拉列表的方法。我最近的尝试是使用此示例...
在下面的行中,value=
后缺少单引号