web 程序中翻页选中问题

今天发现web翻页中的选择框翻页后无法记录前一页选中的项,就百度了一下。

思路: 

1  第一页翻页的时候把第一页选中的ID和页数一起发给服务端,服务端存起来,待返回时候返回给页面。

2  第二页选中时累加第一页选中的ID。

3 再次回到第一页时, 遍历当前checkbox, 如果服务端存的有当前id, 则设置选中状态。


1  翻页存储 js 部分:

<span style="white-space:pre">		</span>var  ids = new Array(); 
<span style="white-space:pre">		</span>$("input[name='xxx']").bind('click',function(){
			 
			 var flagid = true;
			 for (var i = 0; i < ids.length; i++) {     
			        if ($(this).val() == ids[i]){
			        	ids.splice(i, 1); 
			        	flagid = false;
			        }    
			    }  
			 if(flagid){
				 ids.push($(this).val());
			 }
	
			 $("#ids").val( ids.join(","));	 
 				 
		 });

 发送给后台存储时

  			
	String ids = request.getParameter("ids");
		model.addAttribute("ids", ids);


    2 第二页选中时累加第一页选中的ID

// 在第一段代码中插入一下代码
<span style="white-space:pre">	</span>// 从这里开始插入<span style="white-space:pre">	</span><pre name="code" class="javascript"><span>	</span>var  ids = new Array();
if ($("#ids").val() != "") {ids = $("#ids").val().split(","); }<span style="font-family: Arial, Helvetica, sans-serif;">// 这里的 split(",") 是为了保持 ids 是array 对象, 可以用后面的 push 和 splice 方法。</span></span>
 

3  遍历当前checkbox, 如果服务端存的有当前id, 则设置选中状态。

<span style="white-space:pre">	</span>//给已存值的checkbox设置选中状态
 		 $("input[name='xxxx']").each(function(){
			if( $("#ids").val().indexOf( $(this).val() ,0 )!=-1 ){
				  $(this).attr("checked",'true');//
			 }
		 });

完整代码如下:

<span style="white-space:pre">	</span>var  ids = new Array();
	
	if ($("#ids").val() != "") {
		ids = $("#ids").val().split(",");	 
		
		//给已存值的checkbox设置选中状态
		 $("input[name='xxx']").each(function(){
			if( $("#ids").val().indexOf( $(this).val() ,0 )!=-1 ){
				  $(this).attr("checked",'true');//
			 }
		 });
	}
	
	
	$(function(){
		 $("input[name='xxx']").bind('click',function(){
			 
			 var flagid = true;
			 for (var i = 0; i < ids.length; i++) {     
			        if ($(this).val() == ids[i]){
			        	ids.splice(i, 1); 
			        	flagid = false;
			        }    
			    }  
			 if(flagid){
				 ids.push($(this).val());
			 }
			 $("#ids").val( ids.join(","));	  
		 });
	});


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值