Ag-grid过滤器下拉选项

时间:2017-08-28 17:06:40

标签: javascript drop-down-menu ag-grid

我有一个包含多个列的网格,列的“Vehicle”列具有下拉菜单中显示的选项(html select元素)。 我还有一个输入类型文本,用户可以在其中键入字符串。

我想根据用户在输入字段中插入的字符串过滤Vehicle列中的所有Dropdown选项。

例如:

下拉列表有4个选项:

  • 列表项
  • 自行车1
  • Bike 2
  • Car 1
  • Car 2

如果用户在输入输入中键入“ car ”,则下拉菜单应仅显示 Car (Car 1,Car 2)的选项。

我不想影响行。只是Vechicle列中所有下拉菜单的下拉选项。

由于限制,我无法提供代码。

我如何使用vanilla JavaScript实现这一目标?

提前致谢。

1 个答案:

答案 0 :(得分:0)

我知道我的问题,没有代码有点抽象,因为我想要一些指导而不是直接的答案。

就像我在问题中提到的,我有一个用于过滤选项的输入字段。如果用户按下“Enter”,则进行Ajax调用以从数据库中获取过滤结果。数据库返回一个包含json对象的字符串。

var httpRequest = new XMLHttpRequest();
var jsonData = null;
    httpRequest.onload = function() {
        if (httpRequest.readyState === 4) {
            if (httpRequest.status === 200) {
                jsonData = json.parse(httpRequest.responseText);
            } else {
                jsonData = httpRequest.statusText;
            }
        }
    };

在此之后我使用columnApi.getColumn(“vehicles”)来获取我想要影响的列。

var col = gridOptions.columnApi.getColumn("vehicles");

使用上面的代码我现在可以使用cellEditorParams来改变它的值:

col.colDef.cellEditorParams.values  = jsonData;

希望这对将来的某人有用。