问题
I want use a default value for a specific item in a list. I tried the following code but I got an error of "unexpected "=" in operand " How can I handle this problem?
<select name="location_id">
{{ range .LocationList}}
<option value="{{ .Id }}" {{if .Name == .CurrentLocation}}selected{{end}}>{{ .Name }}</option>
{{ end }}
</select>
回答1:
Equality is implemented using Go templates using the eq
function, to which you need to pass the arguments to compare. Specifically, the if
function takes a pipeline, to which in this case you pass a function and a series of arguments. (See the docs for actions and pipelines.)
The correct syntax to use is:
{{ if eq <arg1> <arg2> }} ... {{ end }}
so, for your example:
{{ if eq .Name .CurrentLocation }} selected="selected"{{ end }}
(note attribute minimization is forbidden if you're using XHTML, so use selected="selected"
, but for HTML, selected
is permitted.)
来源:https://stackoverflow.com/questions/52457724/how-can-i-set-the-default-value-for-an-html-select-element-in-golang