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"/>" οnclick="_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' οnclick='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" οnfοcus="this.select();" οnblur="$.cookie('_cookie_page_size',this.value,{expires:3650});" οnkeypress="if(event.keyCode==13){$(this).blur();return false;}"/>條
<input class="first-page" type="button" value="首 頁" οnclick="_gotoPage('1');"<#if pagination.firstPage> disabled="disabled"</#if>/>
<input class="pre-page" type="button" value="上一頁" οnclick="_gotoPage('${pagination.prePage}');"<#if pagination.firstPage> disabled="disabled"</#if>/>
<input class="next-page" type="button" value="下一頁" οnclick="_gotoPage('${pagination.nextPage}');"<#if pagination.lastPage> disabled="disabled"</#if>/>
<input class="last-page" type="button" value="尾 頁" οnclick="_gotoPage('${pagination.totalPage}');"<#if pagination.lastPage> disabled="disabled"</#if>/>
當前 ${pagination.pageNo}/${pagination.totalPage} 頁 轉到第<input type="text" id="_goPs" style="width:50px" οnfοcus="this.select();" οnkeypress="if(event.keyCode==13){$('#_goPage').click();return false;}"/>頁
<input class="go" id="_goPage" type="button" value="轉" οnclick="_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="確定" οnclick="addProduct();"/>
<input type="button" class="button" class="button" value="取消" οnclick="closeDialog('contain')"/>
<!-- <input type="button" value="清除" οnclick="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);
}
}
相關文章
- jQuery操作checkbox選擇程式碼jQuery
- OpenHarmony頁面級UI狀態儲存:LocalStorageUI
- JavaScript設定checkbox核取方塊選中狀態JavaScript
- jquery獲取checkbox是否選中jQuery
- 使用history儲存列表頁ajax請求的狀態
- jquery 設定checkbox選中 和獲取選中值jQuery
- canvas 儲存與還原狀態Canvas
- Jquery 離開頁面時提示儲存jQuery
- jquery實現的換膚並且能夠重新整理儲存狀態jQuery
- Azure Terraform(四)狀態檔案儲存ORM
- Android 元件系列-----Activity儲存狀態Android元件
- jQuery判斷checkbox核取方塊是否選中jQuery
- jquery限制checkbox核取方塊選中數目jQuery
- 關於JQuery操作checkbox問題jQuery
- jQuery checkbox核取方塊操作jQuery
- dci中角色有狀態嗎,誰來怎麼儲存呢
- jQuery 實現checkBox全選效果jQuery
- jquery和bootstrap獲取checkbox選中的多行資料jQueryboot
- jQuery 判斷checkbox核取方塊是否被選中jQuery
- jquery獲取選中checkbox核取方塊的值jQuery
- 利用Dectorator分模組儲存Vuex狀態(下)Vue
- iOS UI狀態儲存和恢復(三)iOSUI
- 利用Dectorator分模組儲存Vuex狀態(上)Vue
- Android中正確儲存view的狀態AndroidView
- jquery獲取所有選中的checkbox與單個選中的radiojQuery
- H5 記錄當前頁面的選中狀態,sessionStorageH5Session
- 【常用jQuery程式碼段】checkbox全選/反選jQuery
- 自動儲存、靜態儲存和動態儲存
- 使用NAS動態儲存卷建立有狀態應用
- jquery幾種用來檢查checkbox是否選中的方法jQuery
- jquery限制checkbox核取方塊被選中的數目jQuery
- jquery獲取沒有選中的checkbox核取方塊jQuery
- jQuery獲取選中的checkbox核取方塊的值jQuery
- 分散式儲存Ceph之PG狀態詳解分散式
- 19c pdb如何儲存啟動狀態
- 儲存過程中巢狀事務儲存過程巢狀
- jQuery的radio,checkbox,select操作jQuery
- jQuery :checkboxjQuery