问问题
651 次
2 回答
5
您可以编写一个视图来构建和表示一个select
元素:
{{define "select"}}
<select name="{{.Name}}>
{{range $a, $b := .Options}}
<option value="{{print $a}}" {{if $a == .Selected}}>{{print $b}}</option>
{{end}}
</select>
{{end}}
以及对应的数据结构:
type SelectBlock struct {
Name string
Selected string
Options map[string]string
}
然后实例化它:
termSelect := SelectBlock{
Name: "term",
Selected: "",
Options: map[string]string{
"full-time": "Full Time",
"part-time": "Part Time",
"contract": "Contract",
"freelance": "Freelance",
},
}
并设置Selected
字段:
termSelect.Selected = "full-time"
并在表单视图中输出视图片段:
{{template "select" $termSelect}}
你$termSelect
的SelectBlock
.
于 2013-10-21T10:16:05.043 回答
2
对于未来正在使用 Go v1.2 或更高版本的其他人:text/template
现在html/template
提供一个相等运算符(在其他新运算符中): http: //golang.org/doc/go1.2#text_template
{{if eq .Term "full-time" }}selected{{end}}
...
{{if eq .Term "freelance" }}selected{{end}}
于 2013-10-22T13:56:28.950 回答