zoukankan      html  css  js  c++  java
  • jsp页面展示更加商品的分类,控制商品的显示

    我的大概思路是这样的,第一后果获取所有的商品分类 保存在list集合里面,第二从后台获取所有的商品 第三在JSP页面遍历商品分类集合放在页面的左边,然后jsp页面商品详细信息这块,也得先遍历商品分类,然后里面嵌套遍历商品详细信集合

    并且带条件<c:if> 判断语句 条件为,分类对象的ID 要等于商品对象里面的分类ID 大概是这样,看下面JSP代码明白了

    1:jsp 页面如下图

     <div class="secti-con">
                <!-- 菜品分类 -->
                   <div class="secti-conl" >
                      <ul class="secti-conla">
                         <c:forEach items="${classificationList }" var="classification">
                          <li style="border-top:0;" data-id="${classification.id }">${classification.className }</li>
                          </c:forEach>
                      </ul>
                  </div>
                  <!-- 菜品详细 -->
                  <div class="secti-conr" >
                  <c:forEach items="${classificationList }" var="classification">
                      <ul id="${classification.id }" style="display: none;">
                        <s:iterator value="list" var="dishes" status="st">
                        <c:if test="${classification.id eq dishes.classification.id }">
                           <li>
                              <div class="sect-box">
                                  <div class="sect-img">
                                <%-- <a href="javascript:goToDetail(${dishes.id})"><img src="<%=basePath %>${dishes.imageUrl}"></a> --%>
                                <img src="<%=basePath %>${dishes.imageUrl}" onerror="javascript:this.src='<%=basePath %>res/funcanteen/images/Place-order-3.0/noimg.png';"/>
                                  </div>
                                  <div class="sect-name">
                                      <div class="sect-name1">
                                         <%--  <a href="javascript:goToDetail(${dishes.id})">
                                             <span >${dishes.name }</span>
                                         </a> --%>
                                         <span >${dishes.name }</span>
                                       </div>
                                      <div class="sect-name2">已售出 <span id="dishes_${dishes.id }" class="salesShow">加载中</span></div>
                                      <div class="sect-name3"><span class="priceded">${dishes.price }</span></div>
                                      <div class="caidan_jg_y">${p.oldPrice != null ? '¥' : ''}${p.oldPrice }</div>
                                  </div>
                                  <div class="sect-add">
                                      <div class="sect-adda">
                                          <div class="sect-added">
                                              <button type="button" class="dellNum delled" id="dellNum_${dishes.id }">-</button>
                                              <input name="dell_dishesId" type="hidden" value="${dishes.id}" id="dell_dishesId"/>
                                              <input id="numberinst_${dishes.id }" class="numberinst" readonly="" value="0" type="text" name="number" maxlength="2">
                                              <button type="button" class="addedNum addedl">+</button>
                                              <input name="dishesId" class="dishesIdInput" type="hidden" value="${dishes.id }"/>
                                          </div>
                                       </div>
                                  </div>
                              </div>
                          </li>
                          </c:if>
                        </s:iterator>
                      </ul>
                       </c:forEach>
                  </div>
              </div>

    2:页面加载时候默认给选中第一个分类

    js代码如下页面第一次加载时候js控制选中一个商品分类

    $(document).ready(function(){
        var conla =  $(".secti-conla li:first-child");
        conla.addClass("sectidea");
        var conlaId = conla.data("id");
        $("#"+conlaId).show();
    });

    3:js控制点击商品分类时候显示商品详细信息

    //点击菜品分类名称
          $(".secti-conla li").click(function(e) {
    	     $(this).addClass("sectidea").siblings().removeClass("sectidea");
    	     var conlaId = $(this).data("id");
        	     $("#"+conlaId).show().siblings().hide();
    	}); 
    

    具体后台数据怎么封装的,这个根据个人需求决定了,这里就不说了。

  • 相关阅读:
    缅怀我的第一台平板——Surface RT
    【万里征程——Windows App开发】DatePicker&Timepicker
    【万里征程——Windows App开发】用浮出控件做预览效果
    【万里征程——Windows App开发】应用栏
    【万里征程——Windows App开发】画笔和图像
    【万里征程——Windows App开发】绘制图形
    稻香
    【万里征程——Windows App开发】动画1
    【SICP练习】152 练习4.8
    【SICP练习】151 练习4.7
  • 原文地址:https://www.cnblogs.com/SHMILYHP/p/6386315.html
Copyright © 2011-2022 走看看