【发布时间】:2021-03-15 13:28:37
【问题描述】:
我正在使用@material/select。 AJAX 调用后从 JS 脚本添加选项:(简化代码)
for (let key in data.directories){
$("#selector-options").append('<li data-value="'+data.directories[key]+'" role="option">\n' +
' <span>'+data.directories[key]+'</span>\n' +
' </li>')
}
Material listener 代码如下所示(当用户选择一个选项时触发):
import {MDCSelect} from '@material/select';
const select = new MDCSelect(document.querySelector('.mdc-select'));
select.listen('MDCSelect:change', () => {
alert(`Selected option at index ${select.selectedIndex} with value "${select.value}"`);
});
我要做的是在用户选择选项时发出 AJAX 请求,但 MDCSelect 代码在 AJAX 请求之前运行(以获取 data),并且生成的选项未正确处理。
如何让 MDCSelect 代码在 AJAX 请求后运行?我也可以使用 PHP 动态添加选项,但我可以只使用 JS 吗?
【问题讨论】: