将其他参数传递给handsontable自动完成源函数

时间:2018-05-21 07:31:40

标签: handsontable

我正在实施HandsOnTable自动填充ajax,如下所示:https://docs.handsontable.com/3.0.0/demo-autocomplete.html#strict-ajax

但我想将附加参数传递给自动填充source函数,例如下面的row.id

hot3 = new Handsontable(container3, {
    data: getCarData(),
    colHeaders: ['Car', 'Year', 'Chassis color', 'Bumper color'],
    columns: [
      {
        type: 'autocomplete',
        source: function (query, process, row.id) {
          $.ajax({
            //url: 'php/cars.php', // commented out because our website is hosted as a set of static pages
            url: 'scripts/json/autocomplete.json',
            dataType: 'json',
            data: {
              query: query
            },

documentationsource函数只接受两个参数(queryprocess),任何人都知道如何传递其他参数?

1 个答案:

答案 0 :(得分:1)

您无法向source函数添加参数。它不接受"参数,它提供。 Handsontable通过预定义的参数在内部调用此函数。

但您仍然可以访问您要查找的数据。检查调用source函数的上下文。它是一个ColumnSettings对象,其中包含(以及其他)列和行ID。

类似的东西:

columns: [
  {
    type: 'autocomplete',
    source: function (query, process) {
      var rowId = this.row;
      var columnId = this.col;

      $.ajax({
        ... // do whatever you want
      });
    }
  }
]