Javascript 将同一规则添加到多个字段

Javascript 将同一规则添加到多个字段,javascript,jquery,validation,jquery-validate,Javascript,Jquery,Validation,Jquery Validate,我正在尝试使用以下命名约定向html输入元素添加相同的规则: name="elements[1]" name="elements[2]" 我正在使用jQuery和jQuery验证插件: var elements = $("#elementsFieldset :input"); $.each(elements, function(i, element) { element.rules('add', { required: true, number: true }); 但

我正在尝试使用以下命名约定向html输入元素添加相同的规则:

name="elements[1]"
name="elements[2]"
我正在使用jQuery和jQuery验证插件:

var elements = $("#elementsFieldset :input");
$.each(elements, function(i, element) {
    element.rules('add', {
    required: true,
    number: true
});
但我担心元素不是jQuery希望添加规则的对象类型。 我收到:

Uncaught TypeError: Object #<HTMLInputElement> has no method 'rules'
uncaughttypeerror:对象#没有方法“规则”
非常感谢您的帮助。

试试这个

$.each(elements, function(i, element) {
    $(this).rules('add', {// use $(this) instead of element
    required: true,
    number: true
});
或者干脆试试它

$("#elementsFieldset :input").rules("add", { 
  required:true,  
  number:true
});
您可以在
类上添加规则
,请参见

$.each(elements, function(i, element) {
    $(this).rules('add', {// use $(this) instead of element
    required: true,
    number: true
});
或者干脆试试它

$("#elementsFieldset :input").rules("add", { 
  required:true,  
  number:true
});
您可以在
类上
添加规则
,请参见使用
$(此)
而不是
元素

元素
是HTML JavaScript对象

要添加规则,您需要jQuery对象,即
$(this)

甚至更好

var elements = $("#elementsFieldset :input");
    elements.each(function(){
        $(this).rules('add', {
        required: true,
        number: true
    });
已更新

下面的代码仅适用于一个元素,前提是您要为多个元素应用规则。请使用上例中使用的
。each()

$("#elementsFieldset :input").rules("add", { 
  required:true,  
  number:true
});
阅读评论人

使用
$(this)
而不是
元素

元素
是HTML JavaScript对象

要添加规则,您需要jQuery对象,即
$(this)

甚至更好

var elements = $("#elementsFieldset :input");
    elements.each(function(){
        $(this).rules('add', {
        required: true,
        number: true
    });
已更新

下面的代码仅适用于一个元素,前提是您要为多个元素应用规则。请使用上例中使用的
。each()

$("#elementsFieldset :input").rules("add", { 
  required:true,  
  number:true
});
阅读评论人


对于长版本,可以。短版本只为列表的第一个元素添加了验证…真的不知道为什么,如果它只是sintax的问题。您的第二个版本不正确。jQuery Validate的方法在此上下文中需要
.each()
方法。请参阅本答案中的选项2b:长版本为Ok。短版本只为列表的第一个元素添加了验证…真的不知道为什么,如果它只是sintax的问题。您的第二个版本不正确。jQuery Validate的方法在此上下文中需要
.each()
方法。请参阅此答案中的选项2b:您的第二个版本不正确。jQuery Validate的方法在此上下文中需要
.each()
方法。请参阅此答案中的选项2b:您的第二个版本不正确。jQuery Validate的方法在此上下文中需要
.each()
方法。请参见本答案中的选项2b:可能的副本