<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文件中动态选择的。默认情况下,应选择值为<option>
的{{1}},但会使用值1
的{{1}}。设置<option>
元素的0
无效。
答案 0 :(得分:1)
这不是您设置所选项目的方式。您需要将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>
答案 1 :(得分:1)
向value
添加Select
属性不会有帮助,因为在HTML中,所选选项由元素上selected
属性的存在表示,如下所示:< / p>
<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>