我有一个包含多个列的网格,列的“Vehicle”列具有下拉菜单中显示的选项(html select元素)。 我还有一个输入类型文本,用户可以在其中键入字符串。
我想根据用户在输入字段中插入的字符串过滤Vehicle列中的所有Dropdown选项。
例如:
下拉列表有4个选项:
如果用户在输入输入中键入“ car ”,则下拉菜单应仅显示 Car (Car 1,Car 2)的选项。
我不想影响行。只是Vechicle列中所有下拉菜单的下拉选项。
由于限制,我无法提供代码。
我如何使用vanilla JavaScript实现这一目标?
提前致谢。
答案 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;
希望这对将来的某人有用。