Я пытаюсь восстановить список значений для выпадающего списка из контроллера с помощью вызова Ajax, и он возвращает данные обратно к методу успеха. Но я не вижу текст или значение в выпадающем списке.
Это код моего контроллера, внизу я возвращаю listofiteam для просмотра.
List<SelectListItem> listoftime = new List<SelectListItem>();
if (duration == 1)
{
for(int i=9;i<23;i++)
{
var st = date.Where(m => m.StartTime.Value.Hours == i);
int countst = st.Count();
if(countst==1)
{
var et = st.Select(m => m.Endtime.Value.Hours).SingleOrDefault();
i = Convert.ToInt32(et);
}
if(countst==0)
{
listoftime.Add(new SelectListItem
{
Text = "\"" + i + " to " + (i + 1) + "\"",
Value = i.ToString()
});
}
}
}
return Json(new { result = listoftime, status = "Success" },
JsonRequestBehavior.AllowGet);
}
/////////////////////////////////////////////// ////////////////////////////////////////////////// ////////////////////////////////////////////////// ////////////
<div class="col-md-10">
@Html.DropDownListFor(m => m.ScheduledTime,new List<SelectListItem>
{
new SelectListItem{Text="09:00 AM",Value="09:00"},
new SelectListItem{Text="10:00 AM",Value="10:00"},
new SelectListItem{Text="11:00 AM",Value="11:00"},
new SelectListItem{Text="12:00 AM",Value="12:00"},
new SelectListItem{Text="13:00 PM",Value="13:00"},
new SelectListItem{Text="14:00 PM",Value="14:00"},
new SelectListItem{Text="15:00 PM",Value="15:00"},
new SelectListItem{Text="16:00 PM",Value="16:00"},
new SelectListItem{Text="17:00 PM",Value="17:00"},
new SelectListItem{Text="18:00 PM",Value="18:00"},
new SelectListItem{Text="19:00 PM",Value="19:00"},
new SelectListItem{Text="20:00 PM",Value="20:00"},
new SelectListItem{Text="21:00 PM",Value="21:00"},
new SelectListItem{Text="22:00 PM",Value="22:00"}
}, "--Select start time--", new { @class = "form-control", id="stime" })
@Html.ValidationMessageFor(model => model.ScheduledTime, "", new { @class = "text-danger" })
</div>
/////////////////////////////////////////////// ////////////////////////////////////////////////// ////////////////////////////////////////////////// ////////
Это код, в котором я пытаюсь заполнить раскрывающиеся значения значениями текстового объекта в listofiteam
$.ajax({
url: '@Url.Action("checkavailabletime","customer")',
data: { sdate: scheduledate, dvalue: duration, tvalue: TrainerId },
type: "POST",
success: function (value) {
console.log(value);
alert();
$("#stime").empty();
$.each(value, function (key, value) {
alert(key.text + value.value);
$('#stime')
.append($("<option></option>")
.attr("value", key)
.text(value));
});
},
error: function (result) {
alert("error" + result)
}
});
введите описание изображения здесь
Я ожидаю, что раскрывающиеся значения будут изменены с помощью текстового объекта из listofiteam, вместо этого я получаю значения [объект объекта], [объект объекта]