表单所有的输入访问在jquery插件

Forms all inputs access in jquery plugin

本文关键字:jquery 插件 访问 输入 表单      更新时间:2023-09-26

我正试图使jquery插件的表单验证(学习)。在这种形式下,我无法获得所有的表单字段有类名"需要"。代码如下:

(function( $ ) {
$.fn.kValidation =  function() {     
    this.on("submit", function (event ) {
        event.preventDefault();
        $(this + " .required").each( function () {
''this loop dont get all form inputs which has class "required"
            alert();
        })
}( jQuery ));

HTML如下:

<form id="fo">
<input class="required" data-kvLimit="min:5 max:200" data-kvType="numeric" /><br>
<input class="required" data-kvLimit="min:5 max:200" data-kvType="string" /><br>
<input class="required" data-kvType="email" /><br>
<input type="submit" value="Submit" />
</form>

我用这种方式调用插件

$("form").kValidation();

可以将"jQuery()"的"context"参数设置为"this: form"元素。还请注意,在.on()处关闭}),在$.fn.kValidation处关闭}

  $(function() {
    (function($) {
      $.fn.kValidation = function() {
        this.on("submit", function(event) {
          event.preventDefault();
          $(" .required", this).each(function() {
            console.log(this)
          })
        })
      }
    }(jQuery));
    $("form").kValidation();
  });

plnkr http://plnkr.co/edit/DqX44H5p9HEA3P5tfZMC?p=preview

变化

$(this + " .required")

$(this).find('.required')

第一个语法错误。它有效地尝试用字符串".required"将jQuery引用(一个对象)连接到表单元素。