bootstrap checkbox 添加checked属性 全选/反选

${productList}后台传过来的产品集合,遍历集合会生成多个name属性为checkbox的input

				<div class="row">
					<div class="form-group">
						<div class="col-md-12">
							<label class="col-lg-2 control-label">产品:</label>
							<input id="selecteAll" type="checkbox" class="styled"/>全选/反选
							<div class="col-lg-12">
								<div class="row">
									<c:forEach items="${productList}" var="obj">
									<div class="col-md-2">
										<div class="checkbox">
											<label>
												<input id="${obj.id }" name="product" type="checkbox" class="styled">${obj.name }
											</label>
										</div>
									</div>
									</c:forEach>
								</div>
								
							</div>
						</div>
					</div>
				</div>
js代码:给生成的多个checkbox添加checked属性(相信这个肯定没有问题),但是添加属性之后其他的checkbox没有变化,其实这个属性已经添加上去,只是bootstrap控件没有改变属性(就是通过当前节点获取父节点,添加一个class属性,这个父节点是一个span标签,在浏览器中可以看到)

	$("#selecteAll").click(function(){
		if(this.checked){
			var products = $("input[name='product']");
			products.each(function(){
				$(this).attr('checked',true);
				$(this).parent().attr("class",'checked');
			});
		}else{
			var products = $("input[name='product']");
			products.each(function(){
				$(this).attr('checked',false);
				$(this).parent().removeClass('checked');
			});
		}
	});

获取输出值的时候会出现问题,会输出所有值,下面是输出值的控制

$("#button").click(function(){
		 var products;
		 var j = 0;
		 $("input[name='product']").each(function(){
			 var ischecked = $(this).parent().parent().find("span").attr("class");
			 if(j == 0 && ischecked=="checked"){
				 productTypes = $(this).val();
				 j++;
		 	 }else if(j != 0 && ischecked=="checked"){
		 		 productTypes += "," +($(this).val());
		 		 j++;
			 }
			 
		 });
	});









评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值