gpt4 book ai didi

html - Golang 模板中的嵌套范围

转载 作者:IT王子 更新时间:2023-10-29 02:32:28 25 4
gpt4 key购买 nike

我对此很陌生,所以我需要一点帮助。

我有两个这样的结构:

type School struct {
ID string
Name string
Students []Student
}

type Student struct {
ID string
Name string
}

我需要做的是,当我从第一个选择元素中选择一个学校对象时,第二个选择元素仅显示来自所选学校的学生。对象学校数组正确显示所有数据。

<div>
<select name="school">
{{range .Schools}}
<option value="{{.ID}}">{{.Name}}</option>
{{end}}
</select>
</div> <div>
<select name="student">
{{range .Students}}
<option value="{{.ID}"> {{.Name}}</option>
</select>
{{end}} </div>

我需要在第二个范围内选择诸如 selectedSchoolObject.Students 之类的内容。

提前致谢!

最佳答案

Go 模板在服务器端,在您的 Go 应用中/由您执行和呈现。

您在“学校”下拉列表中选择某项时,会在浏览器中的客户端发生。

浏览器无法执行 Go 模板。所以基本上你有两个选择:

1) 当用户更改学校下拉列表的选择时,重新呈现页面。这涉及发送一个新的 HTTP 请求,例如,您可以在 URL 参数中提供所选学校的 ID,Go 模板可能只在第二个下拉列表中呈现所选学校的学生。

2) 您可以使用 JavaScript 代码在客户端实现它。为此,您需要在呈现的 HTML 页面中包括所有学校的所有学生,例如在 JavaScript 数组中,并使用 JavaScript 代码更改学生下拉列表的内容。

阅读相关问题:

Referencing Go array in Javascript

Interactive web pages in Go

Dynamically refresh a part of the template when a variable is updated golang

Creating load more button in Golang with templates

关于html - Golang 模板中的嵌套范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44780166/

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