2017-08-26 91 views
0

我環顧四周,我還沒有真的能夠找到任何解決我的問題。有一個帖子使用按鈕,但我似乎無法修改它以滿足我的需求。單選addEventListener與多個選擇

我想爲多個選擇只使用一個事件偵聽器。我想返回選擇的ID和價值選擇,但據我可以計算我要麼需要使用document.getElementById("ID").addEventListener('change',func(),true)每個ID或document.getElementsByTagName('select').addEventListener('change', func(), true),我得到一個錯誤,指出:

selection.addEventListener is not a function. (In 'selection.addEventListener('change', func(), true)', 'selection.addEventListener' is undefined)

我希望有人可以花一點時間告訴我我要去哪裏,或者如果我需要使用不同的方法來完成我的任務。

感謝您的幫助

+0

你沒有展示你的整個代碼。什麼是「選擇」? – ishegg

回答

0

getElementsByTagName返回元素HTMLCollection的方法,而不是一個DOM Element,所以你不能使用對addEventListener

你可以做的是去了的的HTMLCollection所有元素,並添加你想要給他們的事件:

let selectElements = document.getElementsByTagName('select'); 
Array.prototype.forEach.call(selectElements, function(el) { 
    eladdEventListener('change', func(), true) 
})