How can I set the default value for an HTML <select> element in Golang?

柔情痞子 提交于 2019-12-24 01:12:15

问题


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!