在.each()上使用.change()

时间:2016-06-28 08:13:49

标签: jquery listener

所需行为

我有一组type="number"的输入字段,针对其中的每一个,我想使用JQuery' .change()

我的尝试

我想我会使用.each()来浏览输入,并从那里使用.change()

我尝试使用$("input[type=number]").each().change(function() { ... }),但这会在控制台中产生以下错误。

Uncaught TypeError: Cannot read property 'call' of undefined

我已验证前面的$("input[type=number]")有效,并且正在获取我想要添加侦听器的输入字段。

问题

我不能像这样使用.each().change()吗?我甚至走在正确的轨道上吗?

3 个答案:

答案 0 :(得分:1)

你不需要eachchange用于循环。直接使用$("input[type=number]").change(function() { // do somthing on event });

each

如果您想使用$("input[type=number]").each(function() { $(this).change(function() { // do something here }); }); ,也可以使用{{1}}。它与以前的结果相同,但代码更多,速度更慢,因为您不需要这里的循环。

{{1}}

答案 1 :(得分:0)

您必须将each()与回调函数

一起使用

<强> LIKE

$("input[type=number]").each(function(){  
         $(this).change(function() { // Change Code goes here. });
});

注意

简单change事件将适用于您的情况

$("input[type=number]").change(function() { ... });

答案 2 :(得分:0)

您只需使用

即可
$("input[type=number]").change(function(e){
     // What u want to do
});

jQuery已经使用循环将相同的事件处理程序应用于选择器的所有元素。当你必须手动遍历选择器的所有元素时,每个都被使用。

详细了解.each()https://api.jquery.com/jquery.each/

在此处详细了解.change()事件处理程序https://api.jquery.com/change/