HTML select option with EJS
Had an error with the current answer, so I wanted to share my solution that I found.
For my example, I'm making an alarm clock and wanted 'hour' values in a select dropdown for input (0 through 12).
<select name="hour">
<% var options = []; %>
<% for(var i = 0; i <= 12; i++) { %>
<option value='<%= i %>'><%= i %></option>
<% } %>
</select>
Note that name="hour"
is used to identify the selected value when passed through a POST request. You can obtain this value using req.body.hour
assuming you're running a similar set-up.
- Server-side: Node.js / Express
- Client-side: EJS/HTML
You can put it in a loop based on the option values.
<select id="volume">
<%
var options = [ "1", "5", "10", "50", "75", "100" ];
for ( var i = 0; i < options.length; i++ )
{
var selected = ( config[0].volume == i ) ? "selected" : "";
%><option value="<%=options[ i ] %>" <%=selected %>><%=i %></option><%
}
%>
</select>