Какой лучший способ выбрать все входные данные в форме с плагином JQuery - PullRequest
1 голос
/ 15 октября 2011

Я создаю свой собственный плагин для проверки jQuery. Как лучше всего выбрать поля ввода с атрибутом data-validate в плагине? для уточнения плагин может быть sent $('form').validate() возможно, это может работать над более чем одной формой на данной странице

новая проблема так что я сейчас использую

    var options =  $.extend(defaults, options);
    return this.each(function() 
    {
    form=this;
    //lazy
    $(this).submit(function()
    {

        var o = options;
        $('['+o.attr+']', form).each(function()
        {
            var val=$(this).val()
            alert($(this).attr('name'))
        })
        //if errors
        //encapsulate error group
        //add to html with .after()
        return false;
        //no errors send
    })
    });

происходит то, что по какой-то причине плагин получает только последнюю форму. Обратите внимание, у меня есть только основная функция плагина. Значение o.attr - data-validate, которое работает. вот ссылка на страницу, которую я делаю на http://yamikowebs.com/_test/project/

Ответы [ 2 ]

2 голосов
/ 15 октября 2011
(function(){
    $.fn.myplugin = function(options) {
        return this.each(function(){ // <-- this part makes your function execute on every element passed to it
             $('input[data-validate]', this).each(function(){ // <-- this part iterates over all inputs with an attribute of "data-validate" in the current (", this" part) form
                 // do stuff here
             });
        });
    }
})(jQuery);

Использование:

$('form').myplugin();
//  |
//  |
//   --- If multiple forms are on the page, jQuery will pass all of them to your plugin

Дополнительная информация: Авторизация плагина jQuery.

Редактировать

Бонус: Рабочая скрипка, чтобы проиллюстрировать все это

Редактировать 2

Yikes, не должен быть на ТА, когда устал. Обновленный ответ и скрипка, чтобы фактически ответить на вопрос ОП.

1 голос
/ 15 октября 2011
$('input[data-validate]').each(function() { ... });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...