[英]How to make addEventListener work/Javascript
I am new in js and can't understand where I made a mistake.我是 js 新手,不明白我在哪里犯了错误。 I try to make select options switch.
我尝试使 select 选项切换。 This is an HTML code
这是一个 HTML 代码
<select id="sort">
<option value="name">name</option>
<option value="price">price</option>
</select>
I tried using AddEventListener('change').我尝试使用 AddEventListener('change')。 but it switches only manually.
但它只能手动切换。 How to make it work automatically when I choose price or name in select?
当我在 select 中选择价格或名称时,如何使其自动工作?
let c = document.getElementById('sort');
c.addEventListener('change', byField);
function byField(value) {
return (a, b) => a[value] > b[value] ? 1 : -1;
};
data.sort(byField('price'));
I will be grateful for any help!我将不胜感激任何帮助!
You are doing it manually as data.sort(byField('price'));
您正在手动执行
data.sort(byField('price'));
, make it dynamic by getting the value
from event object. ,通过从事件 object 获取
value
使其动态化。
e.target.value
will give you the changed value
of select
HTML element. e.target.value
将为您提供select
HTML 元素的更改value
。
let c = document.getElementById("sort");
function byField(value) {
return (a, b) => (a[value] > b[value] ? 1 : -1);
}
c.addEventListener("change", (e) => {
data.sort(byField(e.target.value));
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.