JSP页面: <section class="cartMain">
<div class="cartMain_hd">
<ul class="order_lists cartTop">
<li class="list_chk">
<!--所有商品全选-->
<input type="checkbox" id="all" class="whole_check">
<label for="all"></label>
全选
</li>
<li class="list_con">商品信息</li>
<li class="list_info">库存余量</li>
<li class="list_price">单价</li>
<li class="list_amount">数量</li>
<li class="list_sum">金额</li>
<li class="list_op">操作</li>
</ul>
</div>
<div class="cartBox">
<div class="order_content">
<c:forEach var="shopList" items="${shopCarList}">
<ul class="order_lists">
<li class="list_chk">
<input type="checkbox" id="checkbox" class="son_check">
<label for="checkbox"></label>
</li>
<li class="list_con">
<div class="list_img"><a href="javascript:;"><img src="${shopList.imgSource}" alt=""></a></div>
<div class="list_text"><a href="javascript:;">${shopList.name}</a></div>
</li>
<li class="list_info">
${shopList.stock}
</li>
<li class="list_price">
<p class="price">¥${shopList.price}</p>
</li>
<li class="list_amount">
<div class="amount_box">
<a href="javascript:;" class="reduce reSty">-</a>
<input type="text" value="1" class="sum">
<a href="javascript:;" class="plus">+</a>
</div>
</li>
<li class="list_sum">
<p class="sum_price">¥${shopList.price}</p>
</li>
<li class="list_op">
<p class="del"><a href="javascript:;" class="delBtn">移除商品</a></p>
</li>
</ul>
</c:forEach>
</div>
</div>
<!--底部-->
<div class="bar-wrapper">
<div class="bar-right">
<div class="piece">已选商品<strong class="piece_num">0</strong>件</div>
<div class="totalMoney">共计: <strong class="total_text">0.00</strong></div>
<div class="calBtn"><a href="javascript:;">结算</a></div>
</div>
</div>
</section>==================================================
我的前台购物车的数据是从后台数据库查到遍历到前端页面的,但是现在问题是 我添加的第二个商品的选择按钮无法点击,只可以由全选选中,我看了下 是我的id问题,新增加的商品id和之前商品id相同,导致无法点击,但是js方法一直没找到哪里出错,麻烦各位大神帮忙看看。。
====================================================
jquey代码:$(function () { //全局的checkbox选中和未选中的样式
var $allCheckbox = $('input[type="checkbox"]'), //全局的全部checkbox
$wholeChexbox = $('.whole_check'),
$cartBox = $('.cartBox'), //每个商铺盒子
$shopCheckbox = $('.shopChoice'), //每个商铺的checkbox
$sonCheckBox = $('.son_check'); //每个商铺下的商品的checkbox
$allCheckbox.click(function () {
if ($(this).is(':checked')) {
$(this).next('label').addClass('');
} else {
$(this).next('label').removeClass('')
}
}); //===============================================全局全选与单个商品的关系================================
$wholeChexbox.click(function () {
var $checkboxs = $cartBox.find('input[type="checkbox"]');
if ($(this).is(':checked')) {
$checkboxs.prop("checked", true);
$checkboxs.next('label').addClass('');
} else {
$checkboxs.prop("checked", false);
$checkboxs.next('label').removeClass('');
}
totalMoney();
}); $sonCheckBox.each(function () {
$(this).click(function () {
if ($(this).is(':checked')) {
//判断:所有单个商品是否勾选
var len = $sonCheckBox.length;
var num = 0; $sonCheckBox.each(function () {
if ($(this).is(':checked')) {
num++;
}
});
if (num == len) {
$wholeChexbox.prop("checked", false);
$wholeChexbox.next('label').addClass('');
}
} else {
//单个商品取消勾选,全局全选取消勾选
$wholeChexbox.prop("checked", true);
$wholeChexbox.next('label').removeClass('');
}
})
})
<div class="cartMain_hd">
<ul class="order_lists cartTop">
<li class="list_chk">
<!--所有商品全选-->
<input type="checkbox" id="all" class="whole_check">
<label for="all"></label>
全选
</li>
<li class="list_con">商品信息</li>
<li class="list_info">库存余量</li>
<li class="list_price">单价</li>
<li class="list_amount">数量</li>
<li class="list_sum">金额</li>
<li class="list_op">操作</li>
</ul>
</div>
<div class="cartBox">
<div class="order_content">
<c:forEach var="shopList" items="${shopCarList}">
<ul class="order_lists">
<li class="list_chk">
<input type="checkbox" id="checkbox" class="son_check">
<label for="checkbox"></label>
</li>
<li class="list_con">
<div class="list_img"><a href="javascript:;"><img src="${shopList.imgSource}" alt=""></a></div>
<div class="list_text"><a href="javascript:;">${shopList.name}</a></div>
</li>
<li class="list_info">
${shopList.stock}
</li>
<li class="list_price">
<p class="price">¥${shopList.price}</p>
</li>
<li class="list_amount">
<div class="amount_box">
<a href="javascript:;" class="reduce reSty">-</a>
<input type="text" value="1" class="sum">
<a href="javascript:;" class="plus">+</a>
</div>
</li>
<li class="list_sum">
<p class="sum_price">¥${shopList.price}</p>
</li>
<li class="list_op">
<p class="del"><a href="javascript:;" class="delBtn">移除商品</a></p>
</li>
</ul>
</c:forEach>
</div>
</div>
<!--底部-->
<div class="bar-wrapper">
<div class="bar-right">
<div class="piece">已选商品<strong class="piece_num">0</strong>件</div>
<div class="totalMoney">共计: <strong class="total_text">0.00</strong></div>
<div class="calBtn"><a href="javascript:;">结算</a></div>
</div>
</div>
</section>==================================================
我的前台购物车的数据是从后台数据库查到遍历到前端页面的,但是现在问题是 我添加的第二个商品的选择按钮无法点击,只可以由全选选中,我看了下 是我的id问题,新增加的商品id和之前商品id相同,导致无法点击,但是js方法一直没找到哪里出错,麻烦各位大神帮忙看看。。
====================================================
jquey代码:$(function () { //全局的checkbox选中和未选中的样式
var $allCheckbox = $('input[type="checkbox"]'), //全局的全部checkbox
$wholeChexbox = $('.whole_check'),
$cartBox = $('.cartBox'), //每个商铺盒子
$shopCheckbox = $('.shopChoice'), //每个商铺的checkbox
$sonCheckBox = $('.son_check'); //每个商铺下的商品的checkbox
$allCheckbox.click(function () {
if ($(this).is(':checked')) {
$(this).next('label').addClass('');
} else {
$(this).next('label').removeClass('')
}
}); //===============================================全局全选与单个商品的关系================================
$wholeChexbox.click(function () {
var $checkboxs = $cartBox.find('input[type="checkbox"]');
if ($(this).is(':checked')) {
$checkboxs.prop("checked", true);
$checkboxs.next('label').addClass('');
} else {
$checkboxs.prop("checked", false);
$checkboxs.next('label').removeClass('');
}
totalMoney();
}); $sonCheckBox.each(function () {
$(this).click(function () {
if ($(this).is(':checked')) {
//判断:所有单个商品是否勾选
var len = $sonCheckBox.length;
var num = 0; $sonCheckBox.each(function () {
if ($(this).is(':checked')) {
num++;
}
});
if (num == len) {
$wholeChexbox.prop("checked", false);
$wholeChexbox.next('label').addClass('');
}
} else {
//单个商品取消勾选,全局全选取消勾选
$wholeChexbox.prop("checked", true);
$wholeChexbox.next('label').removeClass('');
}
})
})
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货