handsontable:使用ajax插入数据

时间:2012-07-17 06:40:08

标签: jquery json handsontable

我无法找到在掌上电脑中插入数据的正确方法 使用带有jquery的$ .ajax函数的表。 是否有任何有用的教程或示例?

很多,非常感谢!!


感谢您的示例,但我无法通过json将PHP数组推送到handsontable (使用PHP :: json_encode())。 我尝试了很多,但最后它没有用......

例如:我有几个带行的数组:

<?php
        $row1 = array(1=>"value1",
        2=>"value2",
        3=>"value3",
        4=>"value4",
        5=>"value5");

    $row2 = array(1=>"value1",
        2=>"value2",
        3=>"value3",
        4=>"value4",
        5=>"value5");

    $row3 = .......

所以我试过了:

$data = array($row1,$row2,$row...);
echo json_encode($data);

但它根本不起作用......

感谢您的帮助!

1 个答案:

答案 0 :(得分:7)

以下示例显示如何使用$ .ajax和Handsontable加载和保存数据:

var first = true;
$("#example6grid").handsontable({
  rows: 8,
  cols: 8,
  rowHeaders: true,
  colHeaders: true,
  minSpareCols: 1,
  minSpareRows: 1,
  contextMenu: true,
  onChange: function (change) {
    if (first) {
      first = false;
      return; //don't save this change
    }
    $.ajax({ //saves changes from Handsontable
      url: "save.php",
      dataType: "json",
      type: "POST",
      data: {"data": $("#example6grid").handsontable('getData')}, //returns full array of grid data
      //data: change, //contains only information about changed cells
      success: function (data) {
        console.log("saved", data);
      },
      error: function (data) {
        console.log("error", data);
      }
    });
  }
});

$.ajax({ //loads data to Handsontable
  url: 'source.json',
  dataType: 'json',
  type: 'GET',
  success: function(res){
    $("#example6grid").handsontable("loadData", res.data);
  }
});

上面的代码假定<div id="example6grid" class="dataTable"></div>存在,并且该文件source.json包含以下JSON:

{
  "data": [
    ["", "Kia", "Nissan", "Toyota", "Honda"],
    ["2008", 10, 11, 12, 13],
    ["2009", 20, 11, 14, 13],
    ["2010", 30, 15, 12, 13]
  ]
}