Reputation: 621
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>
Upvotes: 2
Views: 1376
Reputation: 5379
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.)
Upvotes: 2