easyui datagrid批量编辑后向后台post数据

参考了:ajax传递给后台数组参数方式


1.自定义一个类用于对应datagrid编辑的数据

 public class Category
    {
        public int Id { get; set; }
        public string Name { get; set; }
    }


2.前台js提交

var _list = {};
var rows = $('#list_data').datagrid('getRows');
for (var i = 0; i < rows.length; i++) {
    var row = rows[i];            
    _list["list[" + i + "].Id"] = rows[i].Id; //这里list要和后台的参数名List<Category> list一样
    _list["list[" + i + "].Name"] = rows[i].Name;
}

$.ajax({
    url: '/Admin/Category/SaveList',         
    data: _list,
    dataType: "json",
    type: "POST",   

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
EasyUI Datagrid 编辑行后,可以通过以下步骤保存数据: 1. 获取编辑后的数据:在 Datagrid 编辑完成后,可以通过 `datagrid('getChanges')` 方法获取到修数据。 2. 发送数据后台:使用 AJAX 技术将修后的数据发送到后台进行保存。可以使用 jQuery 中的 `$.ajax()` 方法或者 `$.post()` 方法实现。 3. 处理保存结果:后台保存数据完成后,需要返回相应的结果。可以使用 JSON 格式返回保存结果。根据返回结果,可以给出相应的提示信息。 下面是一个示例代码: ```javascript // 获取修后的数据 var changes = $('#datagrid').datagrid('getChanges'); // 发送数据后台保存 $.ajax({ url: 'save.php', type: 'post', data: {changes: JSON.stringify(changes)}, dataType: 'json', success: function(result){ if(result.success){ // 保存成功,刷新数据 $('#datagrid').datagrid('reload'); }else{ // 保存失败,给出相应的提示信息 alert(result.message); } } }); ``` 在后台处理保存数据的代码中,可以根据需求使用相应的技术进行数据保存。例如,可以使用 PHP 的 PDO 技术进行数据库操作,代码如下: ```php // 获取修后的数据 $changes = json_decode($_POST['changes'], true); // PDO 连接数据库 $dsn = "mysql:host=localhost;dbname=mydatabase;charset=utf8"; $user = "myuser"; $pass = "mypassword"; $pdo = new PDO($dsn, $user, $pass); // 开始事务 $pdo->beginTransaction(); try { // 循环保存修后的数据 foreach($changes as $change){ $id = $change['id']; $name = $change['name']; $age = $change['age']; // 更新数据库中的数据 $sql = "UPDATE mytable SET name=?, age=? WHERE id=?"; $stmt = $pdo->prepare($sql); $stmt->execute([$name, $age, $id]); } // 提交事务 $pdo->commit(); // 返回保存成功的结果 $result = array('success' => true); echo json_encode($result); } catch (PDOException $e) { // 回滚事务 $pdo->rollBack(); // 返回保存失败的结果 $result = array('success' => false, 'message' => $e->getMessage()); echo json_encode($result); } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值