设置下拉列表的默认选择
Set the default selection for a dropdown
<tr>
<td class="label">
Filter:
</td>
<td>
<select name="colSearchName" id="colSearchNameID" value="1">
<%
colNameIter = content.columnNameIterator( );
for ( int i = 0; colNameIter.hasNext( ); ++i ) {
%>
<option value="<%= i %>"><%= colNameIter.next( ) %></option>
<%
}
%>
</select>
</td>
<td>
<input id="autocompleteinput" type=text name="keyword" onKeyUp="autoCompleteOnTable(this.value);">
</td>
</tr>
以上代码是一个下拉框,其中的值是从XML 文件中动态选择的。默认情况下应选择值为 1
的 <option>
,但它使用值为 0
的 <option>
。设置 <select>
元素的 value
没有帮助。
这不是您设置所选项目的方式。您需要将 selected
属性添加到您要选择的 <option>
。
例如:
<select name="colSearchName" id="colSearchNameID">
<%
colNameIter = content.columnNameIterator( );
for ( int i = 0; colNameIter.hasNext( ); ++i ) {
if (i == 1) {
%>
<option value="<%= i %>" selected><%= colNameIter.next( ) %></option>
<%
} else {
%>
<option value="<%= i %>"><%= colNameIter.next( ) %></option>
<%
}
}
%>
</select>
向 Select
添加 value
属性没有帮助,因为在 HTML 中,所选选项由元素上存在的 selected
属性表示像这样:
<option ... selected="selected">...</option>
因此,您必须有条件地打印它,即在每次迭代时,检查默认值并在条件合格时添加 selected="selected"
。与您的情况一样,一种可能的解决方案是:
<select name="colSearchName" id="colSearchNameID">
<%
int defaultValue = 1;
colNameIter = content.columnNameIterator( );
for ( int i = 0; colNameIter.hasNext( ); ++i ) {
%>
<option value="<%= i %>"
<% if (i == defaultValue) { %> selected="selected" <% } %>
><%= colNameIter.next( ) %></option>
<%
}
%>
</select>
<tr>
<td class="label">
Filter:
</td>
<td>
<select name="colSearchName" id="colSearchNameID" value="1">
<%
colNameIter = content.columnNameIterator( );
for ( int i = 0; colNameIter.hasNext( ); ++i ) {
%>
<option value="<%= i %>"><%= colNameIter.next( ) %></option>
<%
}
%>
</select>
</td>
<td>
<input id="autocompleteinput" type=text name="keyword" onKeyUp="autoCompleteOnTable(this.value);">
</td>
</tr>
以上代码是一个下拉框,其中的值是从XML 文件中动态选择的。默认情况下应选择值为 1
的 <option>
,但它使用值为 0
的 <option>
。设置 <select>
元素的 value
没有帮助。
这不是您设置所选项目的方式。您需要将 selected
属性添加到您要选择的 <option>
。
例如:
<select name="colSearchName" id="colSearchNameID">
<%
colNameIter = content.columnNameIterator( );
for ( int i = 0; colNameIter.hasNext( ); ++i ) {
if (i == 1) {
%>
<option value="<%= i %>" selected><%= colNameIter.next( ) %></option>
<%
} else {
%>
<option value="<%= i %>"><%= colNameIter.next( ) %></option>
<%
}
}
%>
</select>
向 Select
添加 value
属性没有帮助,因为在 HTML 中,所选选项由元素上存在的 selected
属性表示像这样:
<option ... selected="selected">...</option>
因此,您必须有条件地打印它,即在每次迭代时,检查默认值并在条件合格时添加 selected="selected"
。与您的情况一样,一种可能的解决方案是:
<select name="colSearchName" id="colSearchNameID">
<%
int defaultValue = 1;
colNameIter = content.columnNameIterator( );
for ( int i = 0; colNameIter.hasNext( ); ++i ) {
%>
<option value="<%= i %>"
<% if (i == defaultValue) { %> selected="selected" <% } %>
><%= colNameIter.next( ) %></option>
<%
}
%>
</select>