我正在实施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
},
从documentation,source
函数只接受两个参数(query
和process
),任何人都知道如何传递其他参数?
答案 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
});
}
}
]