首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

EasyUI Datagrid 批量編輯:將多行 ID 狀態拼接為逗號分隔字符串傳遞

     編輯:程式設計綜合問答

前端收集代碼


var rows = $('#table').datagrid('getSelections');
if (rows.length === 0) { alert('請選擇'); return; }

var ids = [], states = [];
rows.forEach(function(row) {
    ids.push(row.id);
    states.push(row.orderState);
});

var url = 'toOrderUpdate.do?orderIds=' + ids.join(',') 
        + '&orderStates=' + states.join(',');
window.location.href = url; // 或 ajax 提交

後端接收


// SpringMVC
@GetMapping("/toOrderUpdate")
public String batchUpdate(@RequestParam String orderIds, 
                          @RequestParam String orderStates) {
    String[] idArr = orderIds.split(",");
    String[] stateArr = orderStates.split(",");
    // 校驗長度一致後批量更新
    return "success";
}

進階:JSON 傳輸(推薦)


// 前端
$.ajax({
    url: 'batchUpdate',
    type: 'POST',
    contentType: 'application/json',
    data: JSON.stringify(rows.map(r => ({id: r.id, state: r.orderState}))),
    success: ...
});

// 後端
@PostMapping("/batchUpdate")
public void batchUpdate(@RequestBody List list) { ... }

優缺點對比

方案優點缺點
URL 拼接簡單、GET 可收藏長度限制、類型轉換麻煩
JSON POST結構化、無長度限制、類型安全需配置消息轉換器
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved