- 浏览: 166857 次
- 性别:
-
文章分类
- 全部博客 (208)
- java web (1)
- java (5)
- Hibernate (10)
- MySql (17)
- GItLab的使用 (1)
- 数据库 (0)
- Spring (9)
- Hibernate + JPA (2)
- JPA (6)
- JQuery (15)
- Eclipse (8)
- Struts2 (2)
- POI (4)
- 工具类 (11)
- Linux (12)
- Json (2)
- 娱乐 (1)
- 学习 (2)
- log4j (1)
- Springmvc (7)
- Excel (3)
- 框架搭建 (2)
- 正则 (2)
- Javamelody (1)
- java反射 (2)
- 中文乱码 (1)
- @ResponseBody 中文乱码 (1)
- 从服务器下载文件 (2)
- ajax (4)
- 存储过程 (2)
- 设计模式 (1)
- junit (2)
- shiro (3)
- java 发送邮件 (1)
- jsp (1)
- xml (1)
- maven (4)
- svn (1)
- 定位 (1)
- redis (3)
- JVM (1)
- Jbpm4.4 (1)
- UML (2)
- Tomcat (1)
- Ckeditor (1)
- JRebel (1)
- CSS (2)
- echart (1)
- html5 (1)
- Ngrok (1)
- NatAPP (1)
- base64编码 (2)
- springBoot (6)
- clone (1)
- dubbo (1)
- zookeeper (1)
- SpringCloud (24)
- RestTemplate (1)
- RocketMQ (1)
- log4j2 (1)
- JS (1)
- 跨域 (1)
- 链路追踪 (2)
- lua (1)
- druid (1)
- thymleaf (1)
- 状态机 (3)
- stateless4j (2)
- mybatis (1)
- generator (1)
最新评论
jQuery 操作checkbox翻页保存选中状态
js:
$(function() { var prodSelectedNames = $("#hiddenProductNames"); var prodSelectedIds = $("#hiddenProductIds"); if(prodSelectedIds.val()!=""){ var oldSelected = prodSelectedIds.val().split(','); $('input:checkbox[name=ids]').each(function() { if ($.inArray($(this).val(), oldSelected) != -1) this.checked = true; }); } $('input:checkbox[name=ids]').click(function() { if(prodSelectedIds.val()!="" ){ var prodIdsValues = prodSelectedIds.val().split(','); var prodNameValues=prodSelectedNames.val().split(','); var i = $.inArray($(this).val(), prodIdsValues); if (this.checked) { if (i == -1){ prodIdsValues.push($(this).val()); prodNameValues.push($(this).attr("productName")); } } else { if (i != -1) { prodIdsValues.splice(i, 1); prodNameValues.splice(i, 1); } } prodSelectedNames.val(prodNameValues); prodSelectedIds.val(prodIdsValues); }else if(prodSelectedIds.val()=="" && this.checked){ prodSelectedIds.val($(this).val()); prodSelectedNames.val($(this).attr("productName")); } }); $('#queryName').bind('keypress',function(event){ if(event.keyCode == "13") { return false; } }); }) function addProduct() { saveChangeProd(); $("#productNames").val($("#hiddenProductNames").val()); $("#productIds").val($("#hiddenProductIds").val()); $("#contain").empty(); closeDialog('contain'); } // function clearProduct(){ // $("#productDiv input[name='ids']").attr("checked",false); // } function _gotoPage(pageNo) { saveChangeProd(); var queryName=$("#queryName").val(); var pageNo=pageNo; showProduct(queryName,pageNo); } function saveChangeProd(){ var prodSelectedNames = $("#hiddenProductNames"); var prodSelectedIds = $("#hiddenProductIds"); $("#productDiv input[name='ids']").each(function(i,ele){ if(prodSelectedIds.val()!="" ){ var prodIdsValues = prodSelectedIds.val().split(','); var prodNameValues=prodSelectedNames.val().split(','); var i = $.inArray($(this).val(), prodIdsValues); if (this.checked) { if (i == -1){ prodIdsValues.push($(this).val()); prodNameValues.push($(this).attr("productName")); } } else { if (i != -1) { prodIdsValues.splice(i, 1); prodNameValues.splice(i, 1); } } prodSelectedNames.val(prodNameValues); prodSelectedIds.val(prodIdsValues); }else if(prodSelectedIds.val()=="" && this.checked){ prodSelectedIds.val($(this).val()); prodSelectedNames.val($(this).attr("productName")); } }); }
html
<div id="productDiv"> <form action="v_product_list.do" method="post" style="padding-top:5px;"> <@s.m "cmsProduct.name"/>: <input type="text" name="queryName" id="queryName" value="${queryName!}" style="width:150px" /> <input class="query" type="button" id="queryButton" value="<@s.m "global.query"/>" onclick="_gotoPage($('#_goPs').val());"/> <input type="hidden" name="pageNo" value="${pageNo!}" id="pageNo"/> </form> <@p.table value=productList;cmsProduct,i,has_next><#rt/> <@p.column align="center" width="20%" title="<input type='checkbox' onclick='Pn.checkbox(\"ids\",this.checked)'/>" width="30%"> <input type='checkbox' name='ids' value='${(cmsProduct.id)}' productName="${(cmsProduct.name)!}"/><#t/> </@p.column><#t/> <@p.column code="产品名称" width="40%" align="center">${cmsProduct.name!}</@p.column><#t/> <@p.column code="图片" width="40%" align="center"> <img id="preImg1" src="${(cmsProduct.productImg)!}" alt="预览" style="width:100px;height:70px;background-color:#CCCCCC;border:1px solid #333"> </@p.column><#t/> </@p.table> <table width="100%" border="0" cellpadding="0" cellspacing="0"><tr><td align="center" class="pn-sp"> 共 ${pagination.totalCount} 条 每页<input type="text" value="${pagination.pageSize}" style="width:30px" onfocus="this.select();" onblur="$.cookie('_cookie_page_size',this.value,{expires:3650});" onkeypress="if(event.keyCode==13){$(this).blur();return false;}"/>条 <input class="first-page" type="button" value="首 页" onclick="_gotoPage('1');"<#if pagination.firstPage> disabled="disabled"</#if>/> <input class="pre-page" type="button" value="上一页" onclick="_gotoPage('${pagination.prePage}');"<#if pagination.firstPage> disabled="disabled"</#if>/> <input class="next-page" type="button" value="下一页" onclick="_gotoPage('${pagination.nextPage}');"<#if pagination.lastPage> disabled="disabled"</#if>/> <input class="last-page" type="button" value="尾 页" onclick="_gotoPage('${pagination.totalPage}');"<#if pagination.lastPage> disabled="disabled"</#if>/> 当前 ${pagination.pageNo}/${pagination.totalPage} 页 转到第<input type="text" id="_goPs" style="width:50px" onfocus="this.select();" onkeypress="if(event.keyCode==13){$('#_goPage').click();return false;}"/>页 <input class="go" id="_goPage" type="button" value="转" onclick="_gotoPage($('#_goPs').val());"<#if pagination.totalPage==1> disabled="disabled"</#if>/> </td></tr></table> <p></p> <div style="text-align:center;"> <input type="button" class="button" value="确定" onclick="addProduct();"/> <input type="button" class="button" class="button" value="取消" onclick="closeDialog('contain')"/> <!-- <input type="button" value="清除" onclick="clearProduct()"/> --> </div> </div>
java:对比修改前和修改后的数据然后保存新增数据
public void updateCompanyProduct(CmsCompany cmsCompany,String prodIds){ Integer id = cmsCompany.getId(); List<Integer> oldProd=dao.findProdIds(id); List<Integer> newProd= new ArrayList<Integer>(); List<Integer> copyProd= new ArrayList<Integer>(); if(StringUtils.isNotBlank(prodIds)){ for (String proId : prodIds.split(",")) { newProd.add(Integer.valueOf(proId)); copyProd.add(Integer.valueOf(proId)); } } copyProd.retainAll(oldProd); //System.out.println(copyProd); newProd.removeAll(copyProd); oldProd.removeAll(copyProd); for (Integer prodId : oldProd) { dao.deleteCompanyProduct(id,prodId); } for (Integer prodId : newProd) { dao.saveCompanyProduct(prodId,id); } }
相关推荐
所以checkbox为false。...把选中的checkbox中的id,其中包括模块id,操作id,拼接成一个字符串,然后把字符串传递到action中。 每次调用此页面时,首选调用action中的选中的id字符串,然后根据在id字符串的基
本篇文章将详细探讨如何通过JavaScript实现一个功能:即在JSP列表页面上保存复选框的状态,即使在翻页操作后也能保持之前选中的状态。 #### 关键概念和技术栈 1. **JSP (Java Server Pages)**: 是一种用于生成动态...
6. jQuery或原生JavaScript操作:可能需要使用jQuery(如果layui项目中已经引入)或原生JavaScript来动态修改DOM元素,以保持复选框的状态。 7. 代码优化:为了提高性能和用户体验,避免不必要的全表重新渲染,我们...
当用户切换页面时,Bootstrap Table 会根据存储的数据来恢复选中状态,确保用户的操作一致性。 以下是一些关键知识点: 1. **后台分页**:在大数据量的表格中,后台分页是必要的,它通过向服务器发送请求获取指定...
2. **图片导航菜单**:Phatfusion- Image Menu 是一个基于JavaScript的菜单系统,它不仅可以展示悬停时的图片链接,还能保持当前选中的菜单状态,提高了导航的可用性。 3. **CSS Text Wrapper**:这个工具允许...
你可以绑定`RowSelected`或`RowClick`事件来处理选中行的操作。如果需要实现多选,可以考虑使用CheckBox复选框控件,将其放入每一行的TemplateField中,并处理`RowCheckedChanged`事件。 再来说说单击和双击事件。...
- 可以使用`JavaScript`或`jQuery`弹出确认对话框,确认后执行删除操作。 9. **自动编号**: - 可以自定义`RowDataBound`事件来为每行添加一个序列号。 10. **自定义时间货币等字符串格式**: - 在`BoundField`...
-修正CheckBox控件的CheckedChanged事件会被触发两次的BUG(Data PostBack->AutoPostBack, Event PostBack->EnablePostBack)。 -为TextBox,TextArea,DatePicker,NumberBox,TriggerBox等控件增加AutoPostBack属性...
-修正CheckBox控件的CheckedChanged事件会被触发两次的BUG(Data PostBack->AutoPostBack, Event PostBack->EnablePostBack)。 -为TextBox,TextArea,DatePicker,NumberBox,TriggerBox等控件增加AutoPostBack属性...