【问题标题】:How to bind to JSON and populate Kendo DropDownLists如何绑定到 JSON 并填充 Kendo DropDownLists
【发布时间】:2013-11-13 19:46:24
【问题描述】:

我无法使用以下 JSON 返回有效数据。当我绑定时,我可能由于格式而返回“未定义”。我需要将两个 DDL 绑定到以下数据。一个绑定到 StreetsInTown,另一个绑定到 StreetNumsOnStreet:

{
    "StreetsInTown": "[{\"Street\":\"AARON RD\"},{\"Street\":\"ACCESS RD\"},,{\"Street\":\"WILSON ST\"},{\"Street\":\"WINDSOR ST\"},{\"Street\":\"WOOD TER\"},{\"Street\":\"WOODLAND AVE\"},{\"Street\":\"ZOLAN DR\"}]",
    "StreetNumsOnStreet": "[{\"Street_Num\":\"18\"},{\"Street_Num\":\"19\"},{\"Street_Num\":\"26\"},{\"Street_Num\":\"27\"},{\"Street_Num\":\"32\"},{\"Street_Num\":\"39\"},{\"Street_Num\":\"43\"},{\"Street_Num\":\"44\"},{\"Street_Num\":\"55\"},{\"Street_Num\":\"66\"}]"
}

工作流程:

  1. 用户选择了带有 DDL1 的城镇,结果创建了“StreetsInTown”字符串。
  2. 使用“StreetsInTown”字符串填充 DDL2。
  3. 使用 DDL2 选择一条街道,结果创建“StreetNumsOnStreet”字符串。
  4. 使用“StreetNumsOnStreet”字符串填充 DDL3。

我可以控制 JSON 的创建。因此,如果建议使用更好的格式,我可以调整 REST 端点。仅供参考,我使用的是 javascript,没有模型。提前致谢!

【问题讨论】:

  • 我相信我需要做一个 JSON.parse() 来让“StreetsInTown.Street”来填充 DDL2,但不知道该怎么做。

标签: javascript json rest kendo-ui kendo-dropdown


【解决方案1】:

您不能使用数据库中的主键来识别街道和门牌号吗?我有一些通过 ajax 级联的下拉菜单。我序列化了一个 C# IEnumerable,数据返回如下:

[{"选中":false,"文本":"迈克 DAuria","Value":"4347"},{"Selected":false,"Text":"Sean 凯利","值":"4348"}]

Value 是来自数据库的 PK,Text 是我想在下拉列表中显示的名称。

Kendo 允许您指定绑定到的属性。就我而言,我告诉它“文本”是文本,“值”是值。

如果您没有/不需要 PK,请尝试将两者设置为相同的属性。 {text="AARON RD"} 和剑道做 dataTextField: "text", dataValueField: "text".

【讨论】:

  • 不,PK 因为我使用的是由 SQL 视图创建的数据。我确实将 dataTextField 和 dataValueField 设置为 = "StreetsInTown.Street",因为@OnaBai 提到了here,但仍然没有运气。
猜你喜欢
  • 2013-04-19
  • 2013-06-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多