• 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();
    	}); 
    

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

  • 相关阅读:
    使用Acctinfo.dll了解更多AD用户帐号信息
    vue elementUI之Form表单 验证
    vue element-ui 表格筛选,点击筛选数据
    使用Bootstrap + Vue.js实现 添加删除数据
    CSS3过渡效果 兼容IE6、IE7、IE8
    使用Ajax、json实现京东购物车结算界面的数据交互
    JavaScript面向对象,闭包内存图,闭包和作用域
    实现一个宽和高都是100像素的div可以用鼠标拖拽移动的效果
    JavaScript鼠标事件,点击鼠标右键,弹出div
    javascript sort排序
  • 原文地址:https://www.cnblogs.com/SHMILYHP/p/6386315.html
Copyright © 2020-2023  润新知