当前位置: 代码迷 >> Java Web开发 >> mysql查询出数据后如何选择匹配的 <select>
  详细解决方案

mysql查询出数据后如何选择匹配的 <select>

热度:117   发布时间:2016-04-16 21:52:53.0
mysql查询出数据后怎么选择匹配的 <select>
编辑一篇文章,然后这个文章是有分类的,怎么让这篇文章显示对应的分类呢?
比如:一篇文章的分类是【java开发】,然后编辑这篇文章,那么他的分类就默认显示【java开发】,点击选择框的时候还可以还成其他分类。

就像这样


------解决思路----------------------

<select >
  <%for(int i=0;item.length;i++){%>
     <option value=''<%=item.get(i).id%>"><%=item.get(i).name%><option>
  <% }%>
</select >

这样不就可以吗?
------解决思路----------------------


<select >
  <%for(int i=0;item.length;i++){%>
     <option value=''<%=item.get(i).id%>" <% if(item.get(i).equals("java")){%>selected<%}%>><%=item.get(i).name%><option>
  <% }%>
</select >


------解决思路----------------------
循环内部加一个判断 当记录数据的值与遍历集合内部的值一样时 定义为selected
------解决思路----------------------
引用:
Quote: 引用:



<select >
  <%for(int i=0;item.length;i++){%>
     <option value=''<%=item.get(i).id%>" <% if(item.get(i).equals("java")){%>selected<%}%>><%=item.get(i).name%><option>
  <% }%>
</select >






<c:forEach items="${content}" var="content">
<select class="form-control" name="category">                                                
     <c:forEach items="${category}" var="category">
        <c:if test="${category.id==content.category}">
 <option value="${category.id}" selected>${category.title}</option>
 </c:if>   
      </c:forEach> 
   </select>
</c:forEach> 


可是这样写为什么还是只显示一个呢?就显示了文章归属的分类,其他的不显示




<c:forEach items="${contents}" var="content">
<select class="form-control" name="category">                                                
     <c:forEach items="${categorys}" var="category">
        <c:if test="${category.id==content.category}">
 <option value="${category.id}" selected>${category.title}</option>
 </c:if>
        <c:if test="${category.id!=content.category}">
 <option value="${category.id}">${category.title}</option>
 </c:if>   
      </c:forEach> 
   </select>
</c:forEach> 

1.循环逻辑明显 有问题。
2.forEach要注意items和var的含义,items是后台放置到request里面的集合对象,var是遍历时候每个分量,不能和items一样的。
  相关解决方案