TypeError:<Array> .each不是一个函数

J86

我在页面上有3个下拉菜单的3个引用,并且每次更改后,我都想运行一个JavaScript函数,称为 validateForm();

我的代码如下:

jQuery(document).ready(function() {

    var drpSupplier         = document.getElementById('supplier');
    var drpChargeRate       = document.getElementById('formElementChargeRate');
    var drpIDSEmail         = document.getElementById('formElementEmailIDS');
    var formLevel2DDs       = new Array();

    formLevel2DDs.push(drpSupplier);
    formLevel2DDs.push(drpChargeRate);
    formLevel2DDs.push(drpIDSEmail);

    formLevel2DDs.each(function() {
        $(this).change(function() {
            validateForm()
        });
    });
});

但是这段代码给了我错误:

TypeError:formLevel2DDs.each不是一个函数

我正在使用jQuery 1.8.3版(这是旧版系统)。

TJ人群

each数组上没有任何功能。

正如安东(Anton)在评论中指出的那样,您根本不需要each做什么。请参阅下面的折叠。

但是,如果需要each,您有三个选择:

  1. 将数组包装在jQuery实例中,然后使用jQuery的each$(formLevel2DDs).each(function(index, entry) { ... });

  2. 使用jQuery的$.each$.each(formLevel2DDs, function(index, entry) { ... });

    请注意,这与上面的功能不同。

  3. 使用forEachMDN | Spec):formLevel2DDs.forEach(function(entry, index, array) { ... });

    请注意,这forEach是ECMAScript5的新功能。所有现代的浏览器都具有它,但对于较旧的浏览器(例如IE8),则需要使用填充程序/填充。还要注意,回调参数的顺序与上面的两个选项都不相同。


但就Anton而言,您可以更简单地做到这一点:

getElementById在这种情况下,没有理由直接使用它,它不是处于紧密循环中,也不是什么,所以:

jQuery(document).ready(function() {

    $("#supplier, #formElementChargeRate, #formElementEmailIDS").change(validateForm);

});

请注意,我还从处删除了wrapper函数validateForm如果validateForm具有返回值,则可能需要添加回去,并且您不希望jQuery使用该返回值(特别是:如果返回false了该值,则jQuery将停止传播并阻止change事件的默认操作)。

如果您真的想使用这些变量直接访问DOM元素:

jQuery(document).ready(function() {

    var drpSupplier, drpChargeRate, drpIDSEmail;
    var formLevel2DDs       = [
        drpSupplier         = document.getElementById('supplier'),
        drpChargeRate       = document.getElementById('formElementChargeRate'),
        drpIDSEmail         = document.getElementById('formElementEmailIDS')
    ];

    $(formLevel2DDs).change(validateForm);
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

TypeError:jQuery(...)。on不是一个函数

来自分类Dev

TypeError:this。$ set不是一个函数

来自分类Dev

TypeError:require(...)不是一个函数

来自分类Dev

TypeError:$(...)。datepicker不是一个函数

来自分类Dev

TypeError:* .getMonth不是一个函数

来自分类Dev

TypeError:func(...)。then不是一个函数

来自分类Dev

TypeError:$(...)。dialog不是一个函数

来自分类Dev

TypeError:$(...)。datepicker不是一个函数

来自分类Dev

TypeError:$(...)。visualize不是一个函数

来自分类Dev

TypeError:require(...)不是一个函数

来自分类Dev

TypeError:$ .mainBowerFiles不是一个函数

来自分类Dev

未捕获的TypeError:$ thirdColumnCells.each不是一个函数

来自分类Dev

向数组原型添加方法,以便我可以将其应用于数组对象。但是它给出了错误TypeError:Array.method不是一个函数

来自分类Dev

AngularJS TypeError:“ track”不是一个函数

来自分类Dev

JavaScript TypeError:$(...)。parent不是一个函数

来自分类Dev

Angular JS TypeError:$ http不是一个函数

来自分类常见问题

NodeJs:TypeError:require(...)不是一个函数

来自分类Dev

Sequelize TypeError Associate不是一个函数

来自分类Dev

TypeError:$ .fn.dataTable.moment不是一个函数

来自分类Dev

TypeError:THREE.Math.lerp不是一个函数

来自分类Dev

TypeError:undefined不是一个函数-.parent()

来自分类Dev

收到TypeError:$(...)。datetimepicker不是一个函数

来自分类Dev

给TypeError续集belongsToMany:undefined不是一个函数

来自分类Dev

jQuery验证插件-TypeError:$(...)。validate不是一个函数

来自分类Dev

TypeError:myCanvas.getContext不是一个函数

来自分类Dev

TypeError:document.observe不是一个函数

来自分类Dev

我不断收到TypeError:undefined不是一个函数

来自分类Dev

TypeError:React.renderToStaticMarkup不是一个函数

来自分类Dev

TypeError:$(...)。unload不是一个函数-JQuery 3.1.0

Related 相关文章

  1. 1

    TypeError:jQuery(...)。on不是一个函数

  2. 2

    TypeError:this。$ set不是一个函数

  3. 3

    TypeError:require(...)不是一个函数

  4. 4

    TypeError:$(...)。datepicker不是一个函数

  5. 5

    TypeError:* .getMonth不是一个函数

  6. 6

    TypeError:func(...)。then不是一个函数

  7. 7

    TypeError:$(...)。dialog不是一个函数

  8. 8

    TypeError:$(...)。datepicker不是一个函数

  9. 9

    TypeError:$(...)。visualize不是一个函数

  10. 10

    TypeError:require(...)不是一个函数

  11. 11

    TypeError:$ .mainBowerFiles不是一个函数

  12. 12

    未捕获的TypeError:$ thirdColumnCells.each不是一个函数

  13. 13

    向数组原型添加方法,以便我可以将其应用于数组对象。但是它给出了错误TypeError:Array.method不是一个函数

  14. 14

    AngularJS TypeError:“ track”不是一个函数

  15. 15

    JavaScript TypeError:$(...)。parent不是一个函数

  16. 16

    Angular JS TypeError:$ http不是一个函数

  17. 17

    NodeJs:TypeError:require(...)不是一个函数

  18. 18

    Sequelize TypeError Associate不是一个函数

  19. 19

    TypeError:$ .fn.dataTable.moment不是一个函数

  20. 20

    TypeError:THREE.Math.lerp不是一个函数

  21. 21

    TypeError:undefined不是一个函数-.parent()

  22. 22

    收到TypeError:$(...)。datetimepicker不是一个函数

  23. 23

    给TypeError续集belongsToMany:undefined不是一个函数

  24. 24

    jQuery验证插件-TypeError:$(...)。validate不是一个函数

  25. 25

    TypeError:myCanvas.getContext不是一个函数

  26. 26

    TypeError:document.observe不是一个函数

  27. 27

    我不断收到TypeError:undefined不是一个函数

  28. 28

    TypeError:React.renderToStaticMarkup不是一个函数

  29. 29

    TypeError:$(...)。unload不是一个函数-JQuery 3.1.0

热门标签

归档