Javascript 在多个元素的数据属性上添加更改侦听器

Javascript 在多个元素的数据属性上添加更改侦听器,javascript,php,ajax,dom,Javascript,Php,Ajax,Dom,假设JS呈现几个输入字段,它们都有不同的id作为数据id值。如何将事件侦听器添加到所有具有数据id属性的输入中,然后将其作为AJAX请求发送到PHP xmlHttp.open(“GET”,“/review=“+>,true); 您没有指定要侦听的事件。我假设一个“更改”事件,但您可以根据自己的选择对其进行修改 您可以使用querySelectorAll按属性名称选择元素,并将属性名称放在方括号中 const els = Array.from(document.querySelectorAll

假设JS呈现几个输入字段,它们都有不同的id作为
数据id
值。如何将事件侦听器添加到所有具有
数据id
属性的输入中,然后将其作为AJAX请求发送到PHP


xmlHttp.open(“GET”,“/review=“+>,true);

您没有指定要侦听的事件。我假设一个“更改”事件,但您可以根据自己的选择对其进行修改

您可以使用
querySelectorAll
按属性名称选择元素,并将属性名称放在方括号中

const els = Array.from(document.querySelectorAll('[data-id]'));
for(const el of els) {
  el.addEventListener('change', () => {
    //your ajax code here
  });
}

您可以使用document.querySelectorAll('input[data id]')获取所有具有“data id”属性的输入元素,然后循环遍历HTML元素,并按如下方式向每个元素添加eventlistener:

const elements = document.querySelectorAll('input[data-id]');
elements.forEach(key => {
      key.addEventListener('change', console.log('Event added!!!'));
});
如果要将事件添加到具有特定数据id值的输入元素,可以使用以下格式仅获取一个元素:

const id=1;
const specificInput = document.querySelector(`input[data-key="${id}"]`);