是否可以在html <option>
框中包装长文本?
在我的JSP中,我有一段代码从循环中的数据库中提取值,并将它们附加到<option>
列表的<select>
部分。
以下是我引用的代码部分:
<select name='codes' onchange="showState(this.value)">
<option value="none">Select a code</option>
<%
//Pulls the ids and descriptions from the codes table and stores them in the first drop down
try
{
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
Connection con = DriverManager.getConnection("url","username","password");
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("select id, descr from ref_codes");
while(rs.next())
{
%>
<option value="<%=rs.getString(1)%>"><%=rs.getString(1)%> <%=rs.getString(2)%></option>
<%
}
//Closes the database connection
stmt.close();
con.close();
}
catch (ClassNotFoundException e)
{
System.err.println("ClassNotFoundException: " + e.getMessage());
}
catch (SQLException e)
{
System.err.println("SQLException: " + e.getMessage());
}
catch (Exception e)
{
System.err.println("Generic Exception: " + e.getMessage());
}
%>
</select>
我的问题是,某些拉出的值太长,并且下拉框比页面的长度更长,因为它们都停留在同一条线上。每当我遇到一个非常长的字符串时,我想让它换行到下一行,但仍然作为相同<option>
值的一部分包含在内。
我环顾谷歌并获得了不同的答案。有人说可以做到,有人说不可以。
然而,大多数答案似乎已经过时(从2000年代中期左右开始)和我尝试过的答案,主要涉及使用<div>
标签,我没有运气。这意味着尽管我指定了width
标记的<div>
,但选项仍然保留在一行中,无论它们有多长并且不会换行到下一行。
所以有人在之前用html做过这个或知道是否可能吗?
答案 0 :(得分:2)
你不能只拉下你想要的下拉字符的最大数量,然后重新选择相同的字段但是从下一个字符开始,抓取相同的字符数等,然后使用HTML / CSS格式组合并使它们看起来像你想要的那样。