gpt4 book ai didi

javascript - 迭代 JSON 对象并收集模型值

转载 作者:行者123 更新时间:2023-12-03 07:22:53 28 4
gpt4 key购买 nike

我正在尝试发送 ajax get 请求,以将数据库中的一个表中的所有条目作为 JSON 对象接收。

检索后,我尝试迭代所有对象并将对象 ID 与本地 ID 进行比较。

如果有匹配项,我想将一些 html 文本框设置为它们的值,但我无法让它工作。

JavaScript:

$.ajax({
url: "/Home/AllEvents",
data: calEvent.id,
dataType: "json",
success: function(response) {
for (var i = 0; i < response.length; i++) {
var obj = response[i];

if (obj.ID == calEvent.id)
{
document.getElementById('updateID').value = obj.ID;
document.getElementById('updateType').value = obj.EventType;
document.getElementById('updateDuration').value = obj.Hours;
break;
}
}
},

所有事件:

public JsonResult AllEvents(double? start, double? end)
{
var eventList = new List<object>();

foreach (Event ev in db.Events)
{
eventList.Add(ev);
}

return Json(eventList.ToArray(), JsonRequestBehavior.AllowGet);
}

事件模型:

public int ID { get; set; }

[Required]
[DataType(DataType.Date, ErrorMessage = "Please enter a valid date.")]
[DisplayFormat(DataFormatString = "{0:dd-MM-yyyy}", ApplyFormatInEditMode = true)]
[Display(Name = "Date")]
public DateTime Date { get; set; }

[Required]
[EnumDataType(typeof(EventType), ErrorMessage = "Submitted value is not valid.")]
[Display(Name = "Type")]
public EventType? EventType { get; set; }

[Required]
public double Hours { get; set; }

[Timestamp]
public byte[] RowVersion { get; set; }

public virtual Person Person { get; set; }

非常感谢任何帮助。

最佳答案

在斯蒂芬的帮助下,我成功地实现了以下功能:

查找事件:

public JsonResult FindEvent(int ID)
{
Event ev = db.Events.Where(e => e.ID == ID).FirstOrDefault();

object eventObject = new
{
hours = ev.Hours.ToString(),
eventType = ev.EventType.ToString()
};

return Json(eventObject, JsonRequestBehavior.AllowGet);
}

JavaScript:

 $.ajax({
url: '@Url.Action("FindEvent", "Event")',
data: { ID: calEvent.id },
dataType: "json",
success: function (response) {
console.log(response);
document.getElementById('updateID').value = calEvent.id;
document.getElementById('updateType').value = response.eventType;
document.getElementById('updateDuration').value = response.hours;
},

error: function() {
// Handle error
}
});

关于javascript - 迭代 JSON 对象并收集模型值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36129696/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com