gpt4 book ai didi

javascript - 为什么这个 jquery 事件处理程序没有按预期连接?

转载 作者:太空宇宙 更新时间:2023-11-04 16:25:56 25 4
gpt4 key购买 nike

我有一个名称为“ReportTypeId”的单选按钮列表。对于每个 radio 按钮,我想在单击它时显示一个警报及其值。

我编写了以下 jQuery,它获取名称为“ReportTypeId”的列表中的所有 5 个单选按钮:

$("[name='ReportTypeId']").toArray().forEach(function(reportTypeId){
reportTypeId.click(function(reportTypeId){
alert(reportTypeId.value);
});
});

当我设置断点并在加载时检查变量时,变量看起来与预期一致。但是,当我在页面加载后单击单选按钮时,什么也没有发生。我在上面的 jquery 中做错了什么?

最佳答案

您应该使用 this 将回调函数内的当前元素获取到 .click()。传递给函数的参数实际上是点击事件对象。

$("[name='ReportTypeId']").toArray().forEach(function(reportTypeId){
reportTypeId.click(function(event){
alert(this.value);
});
});
<小时/>

只需在 jQuery 集合上调用 .click() 即可大大简化代码。事件监听器将自动附加到集合中的所有元素。

$("[name='ReportTypeId']").click(function(event){
alert(this.value);
});

关于javascript - 为什么这个 jquery 事件处理程序没有按预期连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40226756/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com