js购物车系统+复选框保持状态2021-4-20

js购物车系统+复选框保持状态2021-4-20

布局

肉类
2.
球类

购物车的三个jsp

meal.jsp代码

肉类购物页面有猪肉,牛肉,羊肉三个复选,后面有购买数量,利用request和session的方法实现。

request.getParameter(“name”);
session.setAttribute(name,value);

<body>
<% request.setCharacterEncoding("UTF-8");//中文编码
if(request.getParameter("c1")!=null)
	 {session.setAttribute("s1",request.getParameter("c1") );
     session.setAttribute("shu1",request.getParameter("c1s"));
	 }
if(request.getParameter("c2")!=null)
   { session.setAttribute("s2",request.getParameter("c2") );
     session.setAttribute("shu2",request.getParameter("c2s"));
   }
if(request.getParameter("c3")!=null)
    { session.setAttribute("s3",request.getParameter("c3") );
     session.setAttribute("shu3",request.getParameter("c3s"));
    }

%>
各种肉大甩卖,一律十块!<br>
<form action="meal.jsp"method="post">
 <p><input type="checkbox"name="c1" value="猪肉"<%if((session.getAttribute("s1")!=null)) {%> checked="checked"<%}%>>猪肉&nbsp;
 数量:<input type="text" name="c1s">
 </p>
  <p><input type="checkbox" name="c2" value="牛肉"<%if((session.getAttribute("s2")!=null)) {%> checked="checked" <%}%>>牛肉&nbsp;
  数量:<input type="text" name="c2s">
 </p>
   <p><input type="checkbox" name="c3" value="羊肉"<%if((session.getAttribute("s3")!=null)) {%> checked="checked" <%}%>>羊肉&nbsp;
  数量: <input type="text" name="c3s">
 </p>

<p><input type="submit" value="提交" name="B1">
  <a href="ball.jsp"> 买点别的</a>&nbsp;
  <a href="buy.jsp"> 查看购物车</a> 
</p>
</form>
</body>

ball.jsp代码

球类购买页面有足球,篮球,排球三个复选,也有数量框。

<body>
<% request.setCharacterEncoding("UTF-8");
if(request.getParameter("b1")!=null)
	 {session.setAttribute("s4",request.getParameter("b1") );
     session.setAttribute("shu4",request.getParameter("c4s"));
	 }
if(request.getParameter("b2")!=null)
	 {session.setAttribute("s5",request.getParameter("b2") );
     session.setAttribute("shu5",request.getParameter("c5s"));
	 }
if(request.getParameter("b3")!=null)
	 {session.setAttribute("s6",request.getParameter("b3") );
     session.setAttribute("shu6",request.getParameter("c6s"));
	 }

%>
各种球大甩卖,一律八块!<br>
<form action="ball.jsp"method="post">
 <p><input type="checkbox" name="b1" value="足球" <%if((session.getAttribute("s4")!=null)) {%> checked="checked"<%}%>>足球&nbsp;
 数量: <input type="text" name="c4s">
 </p>
 <p><input type="checkbox" name="b2" value="篮球" <%if((session.getAttribute("s5")!=null)) {%> checked="checked"<%}%>>篮球&nbsp;
   数量: <input type="text" name="c5s">
 </p>
  <p> <input type="checkbox" name="b3" value="排球"<%if((session.getAttribute("s6")!=null)) {%> checked="checked"<%}%>>排球&nbsp;
  数量: <input type="text" name="c6s">
 </p>

<p><input type="submit" value="提交" name="X1">
  <a href="meal.jsp"> 买点别的</a>&nbsp;
  <a href="buy.jsp"> 查看购物车</a> 
</p>
</form>
</body>

buycar.jsp代码

<body>
你选择的结果:<br>
<%
request.setCharacterEncoding("UTF-8");
String str,num;
if(session.getAttribute("s1")!=null)
{
	str=(String)session.getAttribute("s1");
	num=(String)session.getAttribute("shu1");
	out.print(str+" "+num+"<br>");
}
if(session.getAttribute("s2")!=null)
{
	str=(String)session.getAttribute("s2");
	num=(String)session.getAttribute("shu2");
	out.print(str+" "+num+"<br>");
}
if(session.getAttribute("s3")!=null)
{
	str=(String)session.getAttribute("s3");
	num=(String)session.getAttribute("shu3");
	out.print(str+" "+num+"<br>");
}
if(session.getAttribute("s4")!=null)
{
	str=(String)session.getAttribute("s4");
	num=(String)session.getAttribute("shu4");
	out.print(str+" "+num+"<br>");
}
if(session.getAttribute("s5")!=null)
{
	str=(String)session.getAttribute("s5");
	num=(String)session.getAttribute("shu5");
	out.print(str+" "+num+"<br>");
}
if(session.getAttribute("s6")!=null)
{
	str=(String)session.getAttribute("s6");
	num=(String)session.getAttribute("shu6");
	out.print(str+" "+num+"<br>");
}
%>

<a href="meal.jsp">回到肉类页面</a>&nbsp;
<a href="ball.jsp">回到球类页面</a>
</body>

保持CheckBox状态

将下面的代码放置在input标签内:

<%if((session.getAttribute(“name”)!=null)) {%> checked=“checked”<%}%>

运行演示

1618889848609

JavaScript和HTML中,创建一个购物车复选框全选/单选功能可以通过以下几个步骤完成。这里是一个基本的示例: ```html <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8"> <title>购物车复选框</title> <style> .cart-checks { display: flex; gap: 10px; /* 控制复选框之间的间距 */ } .check-all { margin-right: 10px; } </style> </head> <body> <h2>购物车商品选择</h2> <div class="cart-checks"> <!-- 商品项,这里的数量可以动态添加 --> <label class="checkbox" for="item1"> <input type="checkbox" id="item1" value="商品1"> 商品1 </label> <label class="checkbox" for="item2"> <input type="checkbox" id="item2" value="商品2"> 商品2 </label> <!-- 更多商品... --> <button id="checkAll">全选</button> <button id="uncheckAll">全不选</button> </div> <script> // 获取所有复选框和全选按钮 const checkboxes = document.querySelectorAll('input[type="checkbox"]'); const checkAllBtn = document.getElementById('checkAll'); const uncheckAllBtn = document.getElementById('uncheckAll'); // 全选按钮事件处理 checkAllBtn.addEventListener('click', function() { checkboxes.forEach(function(checkbox) { checkbox.checked = true; }); }); // 全不选按钮事件处理 uncheckAllBtn.addEventListener('click', function() { checkboxes.forEach(function(checkbox) { checkbox.checked = false; }); }); // 当复选框状态改变时,检查是否有被选中的 checkboxes.forEach(function(checkbox) { checkbox.addEventListener('change', function() { if (checkboxes.filter(checkbox => checkbox.checked).length === checkboxes.length) { checkAllBtn.textContent = '全选'; } else { checkAllBtn.textContent = '全不选'; } }); }); </script> </body> </html> ``` 这个示例展示了如何使用JavaScript控制复选框的全选和全不选操作,并且当任何一个复选框状态变化时,会自动更新全选按钮的状态。你可以根据实际需求对商品列表和样式进行扩展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值