#javascript #c# #jquery #asp.net-mvc #razor
Вопрос:
я не добавил опцию автозаполнения для автоматического выбора города из выпадающего списка. если я запущу приложение, не выбрав город. он выдает предупреждение «выберите город», но если мы вернемся к выбору города, то обнаружим город, который уже выбран, как это возможно ? я привел код ниже для справки…
любое предложение или решение приемлемо. Спасибо
this is the ASP.NET rozar :
<div class="col-md-9">
<label>City</label><span class="text text-danger">*</span> @{ if (ViewBag.cityId != null) { @Html.DropDownList("cityId", null, "--Select City--", new { @id = "ddlCity", @class = "form-control" }) } else { @Html.DropDownList("cityId", new List
<SelectListItem>(), "--SelectCity--", new { @id = "ddlCity",@class = "form-control" }) } } @Html.ValidationMessageFor(model => model.cityId, "", new { @class = "text-danger" })
</div>
// сообщение об ошибке
if ($("#ddlcity").val() == "" || $("#ddlcity").val() == null) {
alert('Please Select city')
return false;
}
Метод MVC для получения списка состояний :
public JsonResult GetStateWiseData(string stateId) {
var stId = stateId.Split('_');
List < SelectListItem > pClassList = new List < SelectListItem > ();
if (stId[0] == "#") {
var objactvt = db.cities.Where(x => x.top == true).ToList();
objactvt.ForEach(x => {
pClassList.Add(new SelectListItem {
Text = x.cityName, Value = x.cityId.ToString()
});
});
} else {
int stid = Convert.ToInt32(stId[0]);
var btn = stId[1];
List < city > objactvt;
if (btn == "0") {
for (int i = 0; i <= 9; i ) {
objactvt = db.cities.Where(x => x.cityName.StartsWith(i.ToString()) amp;amp; x.stateId == stid).ToList();
objactvt.ForEach(x => {
pClassList.Add(new SelectListItem {
Text = x.cityName, Value = x.cityId.ToString()
});
});
}
} else {
objactvt = db.cities.Where(x => x.cityName.StartsWith(btn) amp;amp; x.stateId == stid).ToList();
objactvt.ForEach(x => {
pClassList.Add(new SelectListItem {
Text = x.cityName, Value = x.cityId.ToString()
});
});
}
}
return Json(pClassList.OrderBy(x => x.Text), JsonRequestBehavior.AllowGet);
}